如何使用vuex实现兄弟组件通信
前言
vuex主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值,需要先将值传给父组件,再传给子组件,异常麻烦。
下面这篇文章就来给大家介绍下vuex兄弟组件通信的方法,下面话不多说了,来一起看看详细的介绍吧
1.核心想法
使用vuex进行兄弟组件通信的核心思路就是将vuex作为一个store(vuex被设计的原因之一),将每个子组件的数据都存放进去,每个子组件都从vuex里获取数据,其实就是一句话——把vuex作为一个桥
2.具体代码
父组件App.vue
子组件ChildA
我是A组件
因为你点了B,所以我的信息发生了变化:{{BMessage}}
子组件ChildB
我是B组件
因为你点了A,所以我的信息发生了变化:{{AMessage}}
vuex模块store.js
importVuefrom'vue'
importVuexfrom'vuex'
Vue.use(Vuex)
conststate={
//初始化A和B组件的数据,等待获取
AMsg:'',
BMsg:''
}
constmutations={
receiveAMsg(state,payload){
//将A组件的数据存放于state
state.AMsg=payload.AMsg
},
receiveBMsg(state,payload){
//将B组件的数据存放于state
state.BMsg=payload.BMsg
}
}
exportdefaultnewVuex.Store({
state,
mutations
})
我把所有的代码+注释都放在github了,源码链接,预览链接
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。