vue中的computed 与 watch

计算属性 computed
指通过计算得来的属性,用于监听属性的变化
computed里面的函数调用的时候 不需要加()
方法里必须有一个返回值 return
computed中的函数不会通过事件去触发的,而是当属性(必须是data中的属性)发生改变的时候,computed里面的函数就自然而然的去触发
computed最大的特点就是 当属性状态未发生改变的时候。当前的函数会从缓存中读取

监听属性 watch
用于监听每一个属性的变化
watch这个对象里面都是函数,函数的名称一定是 data中属性的名称 。 watch中函数是不需要调用的
我们可以在watch中进行新旧值的判断 从而来减少虚拟DOM的渲染
只要当前属性发生改变就会触发 与之对应的函数
若我们需要对对象进行监听 , 需要将属性设置为 key 值 , val 为一个对象 且对象中有两个参数必写 , 一个数handle函数, 一个为 deep = true 从而实现深度监听

computed 与 watch 区别
1 computed中的函数调用是不需要()的 , 而watch是不需要进行函数调用的
2. 当属性没有发生改变的时候 ,computed中的函数会从 缓存 中读取值 当属性发生改变的时候,watch中的函数会接受两个参数,一个代表 新值,另一个代表旧值
3. watch 若需要监听对象,必须使用 深度监听
4. computed 中的函数必须要带有返回值 return
5. 命名: computed 中的函数命名是任意的 , watch中的函数名必须是 data 中参数的名

猜你喜欢

转载自www.cnblogs.com/wangqi2019/p/10577462.html