watch
2023年05月06日
一、认识
watch
用于声明在数据更改时调用的侦听回调。watch
选项期望接受一个对象,其中键是需要侦听的响应式组件实例属性 (例如,通过 data
或 computed
声明的属性)——值是相应的回调函数。该回调函数接受被侦听源的新值和旧值。
二、语法
watch:{
a(newVal,oldVal){
},
b: 'handleB',
c:{
handler(newVal,oldVal){
},
deep: true | false,
immediate: true | false
},
'd.e': function(newVal,oldVal){
},
f: [
'handleF',
function(newVal,oldVal){
},
{
handler(newVal,oldVal){
},
deep: true | false,
immediate: true | false
}
]
};
methods: {
handleB(newVal,oldVal){
},
handleF(newVal,oldVal){
}
}
-
immediate
: 在侦听器创建时立即触发回调。第一次调用时,旧值将为undefined
。 -
deep
: 如果源是对象或数组,则强制深度遍历源,以便在深度变更时触发回调。详见深层侦听器。 -
flush
: 调整回调的刷新时机。 -
onTrack / onTrigger
: 调试侦听器的依赖关系。