vue两个组件用watch同时监听一个值的变化,只有一个组件触发,另一个没反应
//a.vue
watch:{
interfaceControl() {
let that = this;
//点击空白清除航班信息弹框
that.interfaceControl.mapFeatureIsSelectedEvent = state=> {
console.log(state)
};
},
props:["interfaceControl"]
//b.vue
watch:{
interfaceControl() {
let that = this;
//点击空白清除航班信息弹框
that.interfaceControl.mapFeatureIsSelectedEvent = state=> {
console.log(state)
};
},
props:["interfaceControl"]
这个事件是document.click的时候触发的,但是只有a.vue能监听到变化,b.vue没反应。如果只单独存在a或者b两者都触发事件
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你确定 A B 两个组件都在页面上渲染了吗?可以提供一个 demo 看下。
你可以在各自的watch中打印,在你显示a组件的时候,b组件中的watch已经和a中的一块执行了。