vue父子組件通信

1.子組件獲取父組件data

子組件為bbb
父組件為aaa
bbb想要獲取aaa里的msg,msg1

  • 父組件調(diào)用子組件
<bbb :m="數(shù)據(jù)" ></bbb>
  • 父組件
父組件的寫法
  • 子組件在props內(nèi)接收
props: {
    'm': {
        type: String,
        default: ''
    },
    'myMsg': {
        type: String,
        default: ''
    }
}
  • m即可獲取msg的值,myMsg即可獲取msg1的值
    e.g.
e.g.

1.父組件獲取子組件data

思路
  • 子組件發(fā)送自己的數(shù)據(jù)
    語法:
vm.$emit(事件名,數(shù)據(jù))
  • 父組件用v-on 即@去接受事件
實例
  1. 子組件bbb自己定義數(shù)據(jù)
  2. 子組件bbb定義method 發(fā)送數(shù)據(jù)
  1. 子組件bbb觸發(fā)click事件去發(fā)送消息
    bbb



    4.aaa父組件使用bbb子組件時去接收消息 用@+事件名
    aaa



    5.aaa里面的get方法獲取cmsg的值

單一事件通信管理

在整個vue上綁定一個事件總線

var Event=new Vue();

    Event.$emit(事件名稱, 數(shù)據(jù))

    Event.$on(事件名稱,function(data){
        //data
    }.bind(this));

項目實例:
event.js

import Vue from 'vue'

//Vue 全局注冊事件總線
const EventBus = new Vue()
Object.defineProperties(Vue.prototype, {
  $bus: {
    get: function () {
      return EventBus
    }
  }
});

發(fā)送消息

this.$bus.$emit("transform_sql_config", this.$data.sql_config)

接收消息

this.$bus.$on("transform_sql_config", this.formatData)

最后,還可以使用vuex狀態(tài)管理
記錄:https://zhuanlan.zhihu.com/p/30352291?utm_medium=social&utm_source=wechat_timeline&from=groupmessage&isappinstalled=0

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

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

  • Vue父子組件通信 Web中的組件其實就是頁面組成的一部分。 那組件之間的通信該怎么辦?這是個重點(必須掌握),同...
    程序員之路閱讀 687評論 0 2
  • Web中的組件其實就是頁面組成的一部分 父傳子 1、可以在父組件上使用自定義屬性綁定數(shù)據(jù); 2、在子組件中需要顯示...
    L怪丫頭閱讀 253評論 0 1
  • 一、父傳子1、可以在父組件上使用自定義屬性綁定數(shù)據(jù);2、在子組件中需要顯示的用props聲明自定義屬性名,然后就可...
    LIsPeri閱讀 266評論 0 1
  • 在使用vue的過程中,如果需要進行父子組件間的通信,通過查閱官方文檔我們可以了解到只需要在子組件要顯式地用 pro...
    fisher_zh閱讀 490評論 0 1
  • 《我們相愛吧》里,余文樂和周冬雨一起玩《答案之書》。然后這本書火起來了。 《答案之書》,怎么玩呢? 首先,先想一個...
    蘇碧玉閱讀 1,064評論 0 2

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