1,子傳父,父傳另一個子
。。。
2,vuex
核心思想:使用vuex進行兄弟組件通信的核心思路就是將vuex
作為一個store
(vuex被設計的原因之一),將每個子組件的數據都存放進去,每個子組件都從vuex里獲取數據,其實就是一句話——把vuex作為一個橋;
https://segmentfault.com/a/1190000014838912?utm_source=channel-hottest
3,eventBus
第一步:創建一個js文件,eventBus.js,位置隨便放,我是放在了src目錄下
import Vue from 'vue' export default new Vue()
第二步:在傳出值的兄弟組件中,引入剛才的js
import '@/eventBus.js'
然后在methods里邊定義一個函數
methods:{ changesize(){ eventBus.$emit('add',this.arg) } }
測試用的是button點擊觸發changesize函數,然后將arg傳出去
第三步:在接受值的兄弟組件中也先讓引入eventBus.js,然后使用created生命周期函數
created(){ eventBus.$on('add',(message)=>{ //一些操作,message就是從兄弟組件傳過來的值 console.log(message) }) },