[英]Vue JS access objects of "parent component's sibling component"
使用Vuex等狀態管理進行非父子組件之間的通信。
將事件發送到$root
或事件總線是不可靠的(容易出現競爭條件)並且難以調試 - 事件捕獲將無聲地“失敗”。 即您永遠不會被告知尚未捕獲事件。
1) 您必須為每個組件添加一個 ref 標簽。 <app ref="App">
, <index ref="Index">
, <incidents ref="Incidents">
, <incident-by-prio ref="IncidentByPrio">
並像這樣從根 A 組件調用它:
this.$root.$refs.App.$refs.Index.$refs.Incidents.$refs.IncidentsByPrio.SomeMethod()
編輯1:
2) 從根上的組件 A 發出一個事件。
組分 A
this.$root.$emit('SomeEvent', {...});
在目標組件中捕獲此事件:
this.$root.$on('SomeEvent', () => {...});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.