Welcome to OGeek Q&A 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 Reply

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

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

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

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...