1,methods:
当页面引用了vue data关键字的属性,并且这些属性发生改变的时候,就会执行methods中定义的函数,并且不管methods中定义的函数是否依赖了data关键字中的属性,methods中定义的函数都会被执行。
主动调用methods中定义的函数的时候,这些函数每次调用都会执行。
2.computed:
1.函数内依赖了vue的属性,2这些属性发生了改变,3.这些属性被页面引用。这三个条件同时满足,才会触发computed中定义的某个函数的回调。
3.watch
watch中定义的方法是用来监听某个属性发生变化的时候,触发回调。在watch中定义方法的时候,方法的键必须是vue中已经定义的属性。
调用方式的区别:
methods定义的函数调用的时候后面可以有小括号,computed中定义的函数,调用的时候后面不能有小括号,类似属性的调用。
并不是每次主动调用computed中定义的函数都会执行,computed中定义的函数即使是主动调用,其是否会执行也和内部的依赖属性是否发生改变有关。