vue watch一个对象,同个值触发了2次,为什么

A
<A :params={keyword:''}></A>

B

prop: {

params: Object

}

watch: {

params: {

immediate: true,

deep: true,

handler (new, old) {

// 触发1次 new:{keyword:''} old: undefine

// 触发2次 new:{keyword:''} old: {keyword:''}

}

},

}

回答

image.png
你使用了immediate属性,将立即以表达式的当前值触发回调。
第二次则是对象的地址指针变了

immediate: true会在侦听开始之后被立即调用,也就是说在watch里声明后会立即调用handle,所以你第一次触发old值为undefined

以上是 vue watch一个对象,同个值触发了2次,为什么 的全部内容, 来源链接: utcz.com/a/41675.html

回到顶部