面试题系列---watchmethods 和 computed 的区别

Posted 程序媛...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题系列---watchmethods 和 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值

以上是关于面试题系列---watchmethods 和 computed 的区别的主要内容,如果未能解决你的问题,请参考以下文章

面试系列-JAVA面试题

面试高峰,博客不断更新,面试题系列01

<面试必过系列>2021最新spring全家桶系列面试题100道附解答资料

Java面试题区别系列

面试题系列一

Java 面试题 —— 零度 Java 面试题系列