面试题系列---【watch、methods 和 computed 的区别】

1.定义

computed**: 是计算属性,依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值;

watch:一个对象,键是须要观察的表达式(data中的数据),值是对应的回调函数,用来监听某些特定的数据变化,从而进行某些特定的业务逻辑操做。

methods:表示一系列具体的操做,适合书写大量的业务逻辑

2.区别

1..三者的加载顺序

  1. computed 是在 HTML DOM 加载后马上执行的,如赋值;(属性将被混入到 Vue 实例)
  2. methods 则必须要有一定的触发条件才能执行,如点击事件
  3. watch它用于观察 Vue 实例上的数据变动,当数据改变时,函数才会执行。

2.默认加载的时候 先 computed 再 watch,不执行 methods;

3.触发某一事件后 先 computed 再 methods 再到 watch computed 属性 vs method 方法 computed 计算属性是基于它们的依赖进行缓存的。

4.computed数据发生改变时-beforeupdate钩子函数中;watch是在数据加载完成后才能监听---mounted钩子函数中;methods将data中属性和methods身上的方法添加到vue的实例身上---created钩子函数中

5.watch和methods在data里边定义了才能够使用;而computed里面定义了就不能够在data里面定义

6.computed必定要有return值;watch没有return值

posted on 2021-06-21 00:49  码农小小海  阅读(467)  评论(0编辑  收藏  举报

导航