父組件和子組件之間的交互

第一種:利用props

父組件定義一個number-to-do,傳給子組件<com-a>
<com-a number-to-do=5></com-a>
子組件在js中定義props數(shù)組
props: ['number-to-do']
就可以在子組件的html中直接取值
{{ numberToDo }}
或者可以定義props對象
props: { 'number-to-do': [Number, String] }
來指定傳來的值是數(shù)字還是字符串

第二種:利用插槽(并不是傳值,只是會在子組件渲染顯示)

父組件在子組件內部寫入數(shù)據(jù)

<com-a>
  <p>123</p>
</com-a>

子組件在html中寫入
<slot></slot>
就可以實現(xiàn)將父組件中寫入的數(shù)據(jù)傳給子組件
我們也可以通過對<slot>進行定義屬性來指定插槽位置
父組件中這樣寫:

<com-a>
  <p slot="oneslot">123</p>
  <p slot="twoslot">456</p>
</com-a>

子組件中這樣寫:

<slot name="oneslot">i am oneslot</slot>
<p>亂七八糟</p>
<slot name="twoslot">i am twoslot</slot>

當指定的slot沒有被引用時,就展示slot標簽中的默認值

第三種:子組件來觸發(fā)emit事件

在子組件中定義一個方法
<button @click="emitMyEvent">emit</button>

emitMyEvent () {
      this.$emit('my-event', this.hello)
    }

在父組件中監(jiān)聽這個emit事件
<com-a @my-event="getMyEvent"></com-a>

getMyEvent (hello) {
      console.log('i get my event' + hello)
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容。關于...
    云之外閱讀 5,176評論 0 29
  • 什么是組件 組件(Component)是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用...
    angelwgh閱讀 819評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 不知從什么時候起,我的腦海里總是出現(xiàn)一些畫面,我好像做了一個很長的夢,夢里,有一個男孩,我好像很喜歡他
    姜姜醬醬閱讀 247評論 0 0
  • load方法: 當一個類或者該類的分類被加入Objective-C運行時的時候被調用。load method調用的...
    爆炸頭的波波安閱讀 1,023評論 2 12

友情鏈接更多精彩內容