vue組件通信

組件之間的關(guān)系

  1. new Vue就可以看成根組件,每個(gè)文件的根組件是唯一的
  2. 其余的組件在注冊(cè)(定義)的時(shí)候不能知道他們的關(guān)系的。只有在使用時(shí)才能知道。(例如:父子組件,兄弟組件等)

組件的通信

  • 父到子的傳遞是通過(guò)props這個(gè)屬性傳遞參數(shù)來(lái)實(shí)現(xiàn)
  1. 靜態(tài)傳值使用props傳遞
  2. 動(dòng)態(tài)傳值使用v-band來(lái)綁定數(shù)據(jù),進(jìn)行傳值
  3. 通過(guò)$refs來(lái)進(jìn)行傳值,對(duì)子組件添加編輯ref
  • 子到父的傳遞
  1. 通過(guò)this,$emit (‘自定義事件的名字’, 觸發(fā)這個(gè)事件時(shí)傳遞過(guò)去的參數(shù))
  2. 父組件收到子打來(lái)的事件的話,需要在調(diào)用兒子組件的時(shí)候,通過(guò) v-on 去監(jiān)聽那個(gè)自定義事件
  3. 然后父組件就在那個(gè)事件處理函數(shù)中做需要做的事情
    *注意:觸發(fā)事件事如果攜帶了參數(shù),那么在綁定事件時(shí)是通過(guò)event接收到的。
  4. 普通事件,event就是事件對(duì)象(事件后面沒帶( )默認(rèn)是 event 事件)
  5. 自定義事件, $sevent就是傳遞過(guò)去的參數(shù)(帶括號(hào)的)
  • 兄弟關(guān)系
  • 其余復(fù)雜關(guān)系

** 中央事件總線(bus)** ( 組件與組件之間傳值 )
應(yīng)用場(chǎng)景:在vue項(xiàng)目沒那么龐大的時(shí)候使用,vue大型項(xiàng)目還是用vuex
第一步 : 新建一個(gè)Bus.vue 文件 ,這里主要是默認(rèn)導(dǎo)出一個(gè)vue實(shí)例,
第二部 : 新建一個(gè)組件A import bus from 'Bus.vue' (導(dǎo)入) 這里通過(guò) Bus.emit 來(lái)傳遞數(shù)據(jù), 第三步 : 新建一個(gè)組件B import bus from 'Bus.vue' (導(dǎo)入) 這里通過(guò) Bus.on 來(lái)接受傳遞過(guò)來(lái)的數(shù)據(jù)

const bus = new Vue();

非props特性

調(diào)用組件時(shí)傳遞的參數(shù),如果在這個(gè)組件內(nèi)部沒有通過(guò)props選項(xiàng)去定義的話,那么這個(gè)Prop就叫做非props特性
非props特性的一 些規(guī)則:
1.會(huì)自動(dòng)添加到組件的根元素上(繼承)
2.普通的非Props特性都是替換,但class與style是拼接
3.禁用繼承inheritAttrs class與style是禁用不了的設(shè)置 inheritAttrs = false
4.可以在組件內(nèi)通過(guò)this.$attrs獲取到非Props特性,class與style不在此列

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 能工摹形,巧匠竊意。必三省吾身,萬(wàn)不可怠惰因循。 foreword 這篇容納了我個(gè)人所知道的一些Vue 2.x組件...
    aichisuan閱讀 419評(píng)論 0 1
  • 一、組件通信(props) 1、說(shuō)明 通過(guò)上一小節(jié)的學(xué)習(xí)我們已經(jīng)知道了在Vue中怎么創(chuàng)建組件和使用組件,而組件與組...
    唯老閱讀 588評(píng)論 0 2
  • 父子組件通信 1、父子組件通過(guò)prop傳遞數(shù)據(jù) 父組件可以將一條數(shù)據(jù)傳遞給子組件,這條數(shù)據(jù)可以是動(dòng)態(tài)的,父組件的數(shù)...
    視覺派Pie閱讀 1,340評(píng)論 0 18
  • 背景 ??Vue是單頁(yè)面應(yīng)用,單頁(yè)面應(yīng)用又是由組件構(gòu)成,各個(gè)組件之間又互相關(guān)聯(lián),那么如何實(shí)現(xiàn)組件之間通信就顯得尤為...
    A鄭家慶閱讀 1,076評(píng)論 0 1
  • 感恩家人健康,出入平安! 感恩早晨順利在跑道上跑完十公里。已經(jīng)是一種習(xí)慣了吧,早晨四點(diǎn)會(huì)醒,其實(shí)晚上睡眠是不夠的,...
    榮漉閱讀 119評(píng)論 0 1

友情鏈接更多精彩內(nèi)容