直奔主題!
兄弟組件之間的事件觸發(fā),大概思路是通過父級(jí)組件交換數(shù)據(jù),watch來監(jiān)聽觸發(fā)事件。
場(chǎng)景是父級(jí)組件A同時(shí)引用兩個(gè)子級(jí)組件B,C。點(diǎn)擊B組件中的按鈕執(zhí)行C組件中的事件。
第一步:父級(jí)組件A
- <bottom-play :play="playStatus" @playStatus="btmChild"></bottom-play>
- methods:{
- listChild:function(val){//B組件自定義事件 狀態(tài)是布爾值
- this.playStatus = val;
- },
- btmChild:function(val){//C組件自定義事件
- this.btmStatus = val;
- }
- }
第二步:子級(jí)組件B代碼
- props: ['play'],//接受父級(jí)傳遞的數(shù)據(jù)
- watch:{//監(jiān)聽數(shù)據(jù) 如果改變執(zhí)行audioPlay函數(shù),audioPlay在methods中定義
- play:'audioPlay'
- }
- audioPlay:function(){
- this.$emit('playStatus',false);//向父級(jí)組件傳遞參數(shù)
- }
第三步:子級(jí)組件C代碼
- props: ['btmStatus']
- ,watch:{
- btmStatus:'playList'
- }
總結(jié)就是A組件定義兩個(gè)值分別傳遞給B,C。然后B,C組件watch方法監(jiān)聽數(shù)據(jù)觸發(fā)事件。
以上這篇基于vue 兄弟組件之間事件觸發(fā)(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/zhuoganliwanjin/article/details/78890778