Vue學習之路(九) --- 非父組件之間的通信

1. 非vuex實現 非父組件之間的通信

原理是:在父組件或者全局創建一個事件倉儲eventHub,然後通過$emit 和 $on 實現通信

1.1 通過在window上綁定eventHub的Vue實例對象,具體實現方法如下:

目錄結構

這裏寫圖片描述這裏寫圖片描述

在綁定eventHub實例對象之前需要import Vue from ‘vue’,然後根組件中使用window.eventHub = new Vue()

這裏寫圖片描述

在cartControl子組件通過$emit發送通信,在shopcart裏通過$on接收通信
這裏寫圖片描述
這裏寫圖片描述

1.2通過在根組件中的main.js中註冊事件倉儲

在main.js中創建事件倉儲後,直接在data中綁定eventHub,然後就可以在子組件通過this.$root.eventHub訪問到事件倉儲

這裏寫圖片描述這裏寫圖片描述這裏寫圖片描述

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