今天简单归纳一下VUE中的
comuputed和watch
即计算属性和监听属性的规则
以及各自的一些特点
computed计算属性の规则:
1.用已有的属性计算不存在的属性
2.默认调用一次get()
3.简写:只有值不发生改变才可以是用简写(函数),值发生改变必须使用对象,才可以配置set()方法
4.底层原理使用Object.definproperty(目标对象,键名,{get(){},set(value){}})
watch监听属性の规则:
1.监听已存在的属性
2.immediate:true默认调用一次,false不会
3.简写:只有handler方法才可以简写;写法:监听的属性(新值,旧值){}
4.监听对象中的值需要深度监听,deep:true
关于使用computed或watch时的温馨提示
- 可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性
- watch 会实时监听数据变化并改变自身的值
最后,我们将两者做一个对比
两者的区别:
1.computed能做的watch都可以做,watch可以做的,computed不一定能做
2.使用vm.$watch方法时,需要使用普通函数
3.对于定时器,函数回调,ajax回调,promise回调,建议使用箭头函数
好,那么今天就到这里哩~
我是嘎洒糕,拜拜