這篇文章給大家分享的是有關(guān)使用vuex實(shí)現(xiàn)兄弟組件通信的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
1. 核心想法
使用vuex進(jìn)行兄弟組件通信的核心思路就是將vuex作為一個(gè)store(vuex被設(shè)計(jì)的原因之一),將每個(gè)子組件的數(shù)據(jù)都存放進(jìn)去,每個(gè)子組件都從vuex里獲取數(shù)據(jù),其實(shí)就是一句話——把vuex作為一個(gè)橋
2. 具體代碼
父組件App.vue
子組件ChildA
我是A組件
因?yàn)槟泓c(diǎn)了B,所以我的信息發(fā)生了變化:{{BMessage}}
子組件ChildB
我是B組件
因?yàn)槟泓c(diǎn)了A,所以我的信息發(fā)生了變化:{{AMessage}}
vuex模塊store.js
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state = { // 初始化A和B組件的數(shù)據(jù),等待獲取 AMsg: '', BMsg: '' } const mutations = { receiveAMsg(state, payload) { // 將A組件的數(shù)據(jù)存放于state state.AMsg = payload.AMsg }, receiveBMsg(state, payload) { // 將B組件的數(shù)據(jù)存放于state state.BMsg = payload.BMsg } } export default new Vuex.Store({ state, mutations })
我把所有的代碼+注釋都放在github了,源碼鏈接,預(yù)覽鏈接
感謝各位的閱讀!關(guān)于“使用vuex實(shí)現(xiàn)兄弟組件通信的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!