watch
watch:{
abc:{//abc为监视属性
immediate:true,//初始化时让handler调用一下
handler(newValue,oldValue){
...
}
}
}
1、当被监视的属性发生变化时,回调函数自动调用,进行相关操作;
2、监视属性必须存在才能进行监视;
深度监视
data{
numbers:{
a:1,
b:1
}
},
//监视多级结构中某个属性的变化
watch:{
'numbers.a':{
handler(){
...
}
}
}
//监视多级结构中所有属性的变化
watch:{
numbers :{
deep:true,
handler(){
...
}
}
}
watch和computed之间的区别
computed可以完成的功能watch都可以完成;watch可以完成的功能computed不一定能完成;例如watch可以进行异步操作;
被vue管理的函数,最好写成普通函数,这样this的指向才是vue实例对象,所有不被vue管理的函数(定时器回调函数、ajax的回调函数等),
最好写成箭头函数,这样this的指向才是vue实例。