vue watch不执行,vue watch 值没有变化也会执行
本文主要介绍了在vuewatch内部调用methods方法报错的解决方案,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
watch在内部调用methods方法并报告错误示例。错误原因。了解方法的调用时间,计算,观察。1.方法中定义的函数。2.在计算中定义的函数。3.watch中定义的方法。
watch内部调用methods方法报错
示例误差减少
例子
脚本
导出默认值{
data(){
返回{
数据:1,
}
},
观察:{
数据:(newV,oldV)={
This.printf() //这里的调用将导致undefined
}
},
方法:{
printf(){
console.log(111111 )
}
}
}
/脚本
错误原因
在vue的手表监听器中需要注意的一点是手表的内部监听方式。不得使用箭头表达式。正确的写法应该是
观察:{
数据:函数(newV,oldV){
this.printf
}
}
如何使用手表的Vue官方链接
理解methods,computed,watch的调用时机
最近在学习Vue框架的时候不懂方法,计算的很好。看了几篇别人写的博客,感觉描述很模糊。所以,当我稍微了解了他们之间的主要区别之后,我就写了文章,记录下来。
1.methods中定义的函数
调用时间是:当页面引用了vue数据关键字的属性,并且这些属性发生变化时,方法中定义的函数就会被执行,方法中定义的函数无论是否依赖于数据关键字中的属性都会被执行。方法中定义的函数可以像普通函数一样。当方法中定义的函数被主动调用时,这些函数将在每次被调用时被执行。
2.computed中定义的函数
computed中定义的函数的调用时间是:当页面引用vue数据关键字的属性并且这些属性发生变化时,如果computed中定义的函数也依赖于这些变化的属性,那么computed中定义的函数将被执行。
即Vue框架回调computed中定义的函数的条件是
1.功能依赖于vue的属性。2.这些属性已经改变。3.这些属性被页面引用,同时满足这三个条件,就会触发computed中定义的函数的回调。而且方法定义的函数的调用语法也不一样。在computed中定义的函数不能用括号调用,类似于属性的调用。
并不是每次在computed中定义的函数被主动调用时,都会被执行。即使主动调用了computed中定义的函数,是否会执行也取决于内部依赖属性是否改变。
3.watch中定义的方法
它用于监视属性的变化并触发回调。在watch中定义方法时,方法的键必须是vue中定义的属性。
新Vue({
埃尔: #app ,
数据:{
数字:1,
num2: 2,
价值3: 88
},
方法:{
GetNum:function(){ //每次页面更新时都会执行。
alert(“方法”);
返回“当前号码:”;
}
},
计算值:{
GetNum2:function(){ //第一次执行,然后当依赖属性改变时。
alert(computed )。
返回 num 2: this . num 2;
}
},
观察:{
3: function (value) {//value3是数据中已经定义的属性,value是属性改变时的值。
Alert(现值:值);
}
}
})
div id=应用程序
p{{num}}/p
p{{getNum()}}/p
按钮v-on:click=num Num /button
按钮v-on:click= Num- Num-/按钮
按钮v-on:click=num2 Num2 /button
按钮v-on:click= value 3 value 3/按钮
/div
以上认识来自于对代码运行的测试和总结,或者说有一些不足之处。希望读者见谅。
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。