vue watch不执行,vue watch 值没有变化也会执行

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: