...">
瀏覽量:119次
vue兄弟組件之間傳值的方式有哪些呢?我們一起來看看吧!
兄弟組件指的是在同一個根組件中的組件, 組件之間沒有使用關(guān)系。
兄弟組件之間的數(shù)據(jù)傳值有兩種方式:
第一種在組件結(jié)構(gòu)相對簡單情況下,可以通過兄弟組件中的父組件, 子組件先把數(shù)據(jù)傳遞給父組件,父組件再傳遞給另外的子組件;
第二種是在兄弟組件中創(chuàng)建一個公共的vue實例來實現(xiàn)事件的發(fā)出和監(jiān)聽。
以下是操作示范:
vue實例:
import Vue from 'vue'
export default new Vue()
接著在子組件中引入公共的vue實例, 通過vue實例來發(fā)出事件:
methods: {
? ? tellname () {
? ? ? ?// 發(fā)出事件,傳遞數(shù)據(jù)givename自定義事件
? ?bus.$emit('givename', this.mybfname)?
}?
}
然后將另外的子組件引入公共vue實例,?通過vue實例監(jiān)聽事件并接收數(shù)據(jù):
import bus from '@/utils/myvue.js'
// 組件一加載就進行兄弟組件所發(fā)出的事件的監(jiān)聽
? mounted () {
? ? // $(dom).on('click',function(){})
? ? // bus.$on(兄弟組件中自定義的事件, 處理函數(shù))
? ? // 處理函數(shù)有一個默認參數(shù),就是其它組件所傳遞的數(shù)據(jù)
? ? bus.$on('givename', (data) => {
? ? ? console.log(data);
? ? ? this.mysbfname = data
? ? })
? }
關(guān)于兄弟組件之間的數(shù)據(jù)傳值方式,我們就分享到這啦!
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776