我想在子组件上使用 watch 属性,但它不起作用。
这是我的代码:
props: {
searchStore: {
type: Object
}
},
watch: {
searchStore(newValue) {
alert('yolo')
console.log(newValue)
}
不幸的是它不起作用
我看过这篇文章并尝试了所有方法,但没有任何效果:VueJs 2.0 - how to listen for `props` changes
我用 Vue Devtools 检查了我的 Prop ,它正在改变。
提前感谢社区!
最佳答案
根据该代码,它应该 可以工作,所以问题可能出在其他地方。你能发布更多代码吗?
如果想立即运行,可以使用immediate
。这是语法:
watch: {
searchStore: {
immediate: true,
deep: true,
handler(newValue, oldValue) {
}
}
},
deep: true
设置将深入观察对象内的变化。
当你在父组件中更新这个对象的一部分时,确保你使用了 Vue 的 $set
函数。
this.$set(this.searchStore, 'myKey', {price: 12.22});
进一步阅读:https://v2.vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats
关于vue.js - 在 vuejs 上观看 Prop 变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51292803/