vue 中的 watch 和 computed
#
computedcomputed:{ msg(){ console.log(this.msg + "123") }}
#
watch// 监听watch:{ msg:function(){ console.log(oldval,newold) }}// 以下是深度监听watch: { "msg.name": function (oldval, newval) { console.log(oldval,newval ) },},// 或者watch: { msg: { handler: function ( oldval,newval) { console.log(oldval.name,newval.name ) }, deep: true }},
- 区别
computed
- 有缓存 ,
- 有两个函数
set(){} get(){}
- 同步代码
watch
- 没有缓存,新旧值替换
- 可以执行异步代码
- 监听对象需要
deep
且拿不到oldval