鍍金池/ 問答/HTML/ vue2.0中子組件之間怎么傳遞方法

vue2.0中子組件之間怎么傳遞方法

1.我在第一個子組件中,獲取了數(shù)據(jù)

clipboard.png

2.我在第二個子組件中,也想用第一組件中獲取的數(shù)據(jù),那該怎么用?

我嘗試了用bus事件總線來完成上面的需求,但是沒有成功

首先我定義了eventBus

clipboard.png

然后引入到這兩個組件之間

然后在一個組件中寫了一個方法

clipboard.png

第二個組件中用來接收

clipboard.png

但是數(shù)據(jù)并沒有獲取到。

怎么解決這問題?

回答
編輯回答
陌上花

bus只能傳遞數(shù)據(jù) 哪里能傳遞方法

bus.$emit('send',this.msg);

bus.$on('send',function(msg){

_this.msg = msg;

});

2018年8月4日 01:45
編輯回答
野橘

兩個子組件設(shè)置ref="xx1/xx2", 在組件1里調(diào)用this.$parent.$refs.xx2可以得到組件2的實例, 可以取到想要的數(shù)據(jù)或方法

2017年7月8日 12:58
編輯回答
舊時光

如果項目夠大,就上vuex吧,否則就是第一組件獲得數(shù)據(jù)后,傳給父組件,父組件再通過props傳遞下去。

2018年1月6日 13:52
編輯回答
我甘愿

父組件中獲取數(shù)據(jù),通過props傳給子組件可以嗎?
或者gets寫在父組件中,父組件監(jiān)聽子組件事件,子組件需要數(shù)據(jù)時this.$emit父組件監(jiān)聽的事件名,然后使用$refs設(shè)置子組件的屬性。

2017年6月3日 14:11