(1)props / parent / $children 適用 父子組件通信
ref:如果在普通的 DOM 元素上使用染苛,引用指向的就是 DOM 元素;如果用在子組件上主到,引用就指向組件實(shí)例
children:訪問(wèn)父 / 子實(shí)例
(3)EventBus (on) 適用于 父子茶行、隔代、兄弟組件通信
這種方法通過(guò)一個(gè)空的 Vue 實(shí)例作為中央事件總線(事件中心)登钥,用它來(lái)觸發(fā)事件和監(jiān)聽(tīng)事件畔师,從而實(shí)現(xiàn)任何組件間的通信,包括父子牧牢、隔代看锉、兄弟組件姿锭。
(4)listeners 適用于 隔代組件通信
attrs" 傳入內(nèi)部組件。通常配合 inheritAttrs 選項(xiàng)一起使用懂傀。
listeners" 傳入內(nèi)部組件
(5)provide / inject 適用于 隔代組件通信
祖先組件中通過(guò) provider 來(lái)提供變量,然后在子孫組件中通過(guò) inject 來(lái)注入變量蹬蚁。 provide / inject API 主要解決了跨級(jí)組件間的通信問(wèn)題恃泪,不過(guò)它的使用場(chǎng)景,主要是子組件獲取上級(jí)組件的狀態(tài)犀斋,跨級(jí)組件間建立了一種主動(dòng)提供與依賴(lài)注入的關(guān)系贝乎。
(6)Vuex 適用于 父子、隔代叽粹、兄弟組件通信
Vuex 是一個(gè)專(zhuān)為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式览效。每一個(gè) Vuex 應(yīng)用的核心就是 store(倉(cāng)庫(kù))〕婕福“store” 基本上就是一個(gè)容器锤灿,它包含著你的應(yīng)用中大部分的狀態(tài) ( state )。
Vuex 的狀態(tài)存儲(chǔ)是響應(yīng)式的辆脸。當(dāng) Vue 組件從 store 中讀取狀態(tài)的時(shí)候但校,若 store 中的狀態(tài)發(fā)生變化,那么相應(yīng)的組件也會(huì)相應(yīng)地得到高效更新啡氢。
改變 store 中的狀態(tài)的唯一途徑就是顯式地提交 (commit) mutation状囱。這樣使得我們可以方便地跟蹤每一個(gè)狀態(tài)的變化。