1,支持缓存?支持异步操作?
2,什么时候会改变?
3,watch使用?
笔记参考面试题64:computer和watch的区别_The..Fuir的博客-CSDN博客Vue中watch的详细用法(三种)_vue中watch的用法_韭菜的自我修养_的博客-CSDN博客
——————————————————————————————————————
computed:重视结果
1,支持缓存,当依赖的数据发生变化后,才会重新计算。
2,不支持异步操作,computed必须return结果,return不能等到异步操作结束。
3,computed中不能对data中的属性进行赋值操作,如果对data中的属性进行赋值,data中的属性发生变化,从而触发computed中的函数,就会形成死循环。
watch:重视过程,监听值
1,不支持缓存
2,支持异步操作
3,watch监听的函数接收两个参数,第一个参数是最新的值,第二个是变化之前的值
3,第一次绑定的时候 不会执行监听函数,只有当值改变的时候 才会执行
需要绑定时即执行监听函数,设置:immediate为true
当需要监听对象的改变时,设置deep为true
data (){
return {
cityName: {name:'xxx'}
}
},
watch: {
cityName: {
handler(newName, oldName) { //自带两个参数,旧数据,新数据
console.log(newName)
},
immediate: true, //第一次绑定的时候执行此监听函数
deep: true //监听对象
}
}