Vue 父子組件通信方式

  1. 父 --> 子:父組件中用 :xx = "this.xxx"盛龄,子組件通過props來接收
  2. 子 --> 父:子組件中定義 this.$emit('eventName', data)捅暴;父組件中接收:@eventName="callback"
  3. 兄弟組件傳參耕挨,可以使用EventBus:相互通信的兄弟組件之中竭贩,都引入一個(gè)新的vue實(shí)例,然后通過分別調(diào)用這個(gè)實(shí)例的事件觸發(fā)和監(jiān)聽來實(shí)現(xiàn)通信和參數(shù)傳遞拍嵌。
    • 新建一個(gè)js文件输拇,來創(chuàng)建出我們的eventBus,我們把它命名為bus.js 抢野;
      import Vue from 'vue';export default new Vue()拷淘;
    • 在click組件和show組件中import它:import Bus from 'common/js/bus.js';
    • 傳遞參數(shù)的組件中定義:Bus.$emit('getTarget', data);
    • 接收組件中定義:Bus.$on('getTarget', target => { console.log(target); });
  4. 使用vuex狀態(tài)管理對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理
  5. 父 ->子 -> 孫:使用attrs和listeners實(shí)現(xiàn)祖孫組件之間的數(shù)據(jù)傳遞
  • 父組件用于動(dòng)態(tài)數(shù)據(jù)的綁定與事件的定義
    <child1 :one="child1" :two="child2" @test1="onTest1" @test2="onTest2"></child1>
  • 子組件的寫法:通過設(shè)置v-bind="attrs" 和v-on="listeners"來充當(dāng)中間人
<!-- 子組件中通過v-bind='$attrs'接受數(shù)據(jù),通過$listeners接收事件 -->
        <child2 v-bind="$attrs" v-on="$listeners"></child2>

 props: ['one','two'],  //可寫可不寫
    data () {
        return {
            
        }
    },
    inheritAttrs: false,  //父組件傳遞動(dòng)態(tài)數(shù)據(jù)后指孤,子組件的默認(rèn)行為
// 當(dāng)inheritAttrs設(shè)置為true時(shí)启涯,父元素動(dòng)態(tài)綁定組件的數(shù)據(jù)贬堵,子組件如果沒有通過props接收的話,該屬性就會(huì)附加于子組件的根元素上结洼。什么意思看代碼
    components: {
        child2    
    },
    mounted () {
        this.$emit('test1')  //觸發(fā)父組件方法的一種方式
        this.$listeners.test2(123)  //觸發(fā)父組件方法的另一種方式
    }
  • 孫組件寫法: 通過props或者attrs和listeners來獲取父組件數(shù)據(jù)和事件黎做。
<p>props:{{one}}</p>
<p>props:{{two}}</p>
<p>$attrs: {{$attrs['one']}}</p> 

props:['one','two'],  //接收父組件傳遞的數(shù)據(jù),可以不寫松忍,通過$attrs來獲取
inheritAttrs: false,  //默認(rèn)行為需要取消
    mounted(){
        this.$emit('test1') //觸發(fā)父組件方法的一種方式
        this.$listeners.test1(123)//觸發(fā)父組件方法的另一種方式
    }
  1. :star::star:vue 依賴注入:provide引几、inject 祖先組件和后代組件的數(shù)據(jù)傳輸
    祖先組件可以用 provide 給后代組件提供一些數(shù)據(jù);后代組件可以使用 inject 接受祖先組件提供的數(shù)據(jù)
// father
provide: {
  foo: 'bar',
}

// child
inject: ['foo']
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挽铁,一起剝皮案震驚了整個(gè)濱河市伟桅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叽掘,老刑警劉巖楣铁,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異更扁,居然都是意外死亡盖腕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門浓镜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溃列,“玉大人,你說我怎么就攤上這事膛薛√” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵哄啄,是天一觀的道長雅任。 經(jīng)常有香客問我,道長咨跌,這世上最難降的妖魔是什么沪么? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮锌半,結(jié)果婚禮上禽车,老公的妹妹穿的比我還像新娘。我一直安慰自己刊殉,他們只是感情好殉摔,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冗澈,像睡著了一般钦勘。 火紅的嫁衣襯著肌膚如雪陋葡。 梳的紋絲不亂的頭發(fā)上亚亲,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼捌归。 笑死肛响,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惜索。 我是一名探鬼主播特笋,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼巾兆!你這毒婦竟也來了猎物?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤角塑,失蹤者是張志新(化名)和其女友劉穎蔫磨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圃伶,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堤如,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窒朋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搀罢。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侥猩,靈堂內(nèi)的尸體忽然破棺而出榔至,到底是詐尸還是另有隱情,我是刑警寧澤欺劳,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布洛退,位于F島的核電站,受9級(jí)特大地震影響杰标,放射性物質(zhì)發(fā)生泄漏兵怯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一腔剂、第九天 我趴在偏房一處隱蔽的房頂上張望媒区。 院中可真熱鬧,春花似錦掸犬、人聲如沸袜漩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宙攻。三九已至,卻和暖如春介褥,著一層夾襖步出監(jiān)牢的瞬間座掘,已是汗流浹背递惋。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溢陪,地道東北人萍虽。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像形真,于是被迫代替她去往敵國和親杉编。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容