三、說說Vue組件間的傳值? 並說說如何跨級傳值??

1、父組件傳給子組件: 子組件通過props屬性接收數據

2、子組件傳給父組件:$emit() 方法進行傳遞參數

3、非父子組件之間的傳值,兄弟組件間傳值 eventBus(中央時間總線),可以看成一箇中轉站,用它傳遞事件和接收事件。發送數據用$emit()方法, 接收數據用$on接收(監聽)。

4、provide 屬性 和  inject屬性 進行跨級傳值,

provide () {
    return {
        keyname: { msg: this.msg } //必須寫成對象的形式纔是響應式
        // keyname: this.msg // 基本類型的數據(無法實現響應式)
    }
},
data () {
    return {
        msg: 'msg的值'
    }
},
// 後代組件
inject: ['keyname'], // 就像props 接收父組件的數據一樣n

created () {
    // console.log(this.keyname);
    console.log(this.keyname.msg);
}

 

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章