watch、methods和computed都是以函数为基础的,但各自却都不同
一、三者之间的说明以及区别
computed: computed 是 计算属性 ,事实上和 data 对象里的数据属性是同一类的,当其依赖的属性的值发生变化时,计算属性会重新计算,反之,则使用缓存中的属性值。computed中的函数必须使用return返回
methods: methods 里面是用来定义函数的,它需要手动调用才能执行。 而不像 watch 和 computed 那样,“自动执行”预先定义的函数,相比于 watch / computed,methods 不处理数据逻辑关系,只提供可调用的函数 methods 里面定义的是 函数 ,仍然需要去调用它
watch: watch是监听一个值的变化,然后执行对应的回调,类似于监听机制+事件机制。watch中的函数不是必须使用return返回
二、三者的加载顺序
computed: 是在HTML、DOM加载后马上执行的,如赋值;
methods: 用于观察Vue实例上的数据变动;
watch: 必须要有一定的触发条件才能执行,如点击事件
注意:
1、当默认加载的时候,先执行computed再执行watch,不执行methods
2、触发某一类事件后,先执行computed再执行methods然后再是watch