Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.5k views
in Technique[技术] by (71.8m points)

watch监听不到vuex的数据

同一个项目,同时打开两个页面,一个页面往vuex改变参数(this.$store.commit('xxx',true)),另一个页面在watch监听这个值,为什么会监听不到呢。。。。

在监听vuex页面尝试过下面这种,还是接收不到数据:
computed: {

aa() {
  return this.$store.state.xxx
}

},
watch:{

aa(newVal){
    console.log(newVal)
}

}


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
同一个项目,同时打开两个页面

这是指开了两个浏览器选项卡?

跨页面了,代码跑在不同的进程,彼此是隔离的啊.
你得上跨页面通信机制.方案很多.

  1. postMessage.
  2. 利用同域localstorage事件.

我通常使用第2点.操作localstorage时,已打开的同域页面都会收到storage事件.可以利用这一点进行通信.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...