项目背景
websocket长连接 根据指示进行四个页面之间的跳转,在各页面执行相应的逻辑处理。
项目搭建结构如下所示:
解决方案
vuex
\src\store\mutations.js
//存储到vuex里面
\src\store\getters.js
\src\store\index.js
Vue.use(Vuex)
export default new Vuex.Store({
state,mutations,getters
})
state,mutations,getters
})
\src\components\index.vue
父页面
{//定时器为了模拟websocket发送数据
var addList=[{"sku":"1","name":'苹果11'}];
var delIndexList=[0];
this.webdata.addList=addList;
this.webdata.delIndexList=delIndexList;
this.$store.commit("websocket_data",this.webdata)//必须写 要不然getter拿不到改变之后的数据
console.log("index--------------------");
console.log(this.socketData);
},1000);
},}
src\components\shoppingCart.vue
子页面 根据websocket传来的数据进行逻辑操作
页面处理
...mapState([
'socketData',]),...mapGetters([
'getterSocketData',])
},watch:{
getterSocketData(message){//message 就是socketData
console.log(message);//根据数据指示 进行逻辑操作
........................
}
}
}
以上这篇vuex提交state&&实时监听state数据的改变方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。