您好,登錄后才能下訂單哦!
今天小編給大家分享一下Vue中組件間通信的方式有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
props/event
子組件有時需要與父組件進行溝通,溝通的方式就是子組件 $emit 傳遞一個自定義事件,父組件通過監聽這個事件來做進一步動作。而父組件與子組件通信則使用 props來傳遞一個綁定在子組件上的屬性,這個屬性值來源于父組件。
parent/children
父組件中使用 $children 操作子組件。并在父組件通過 $children 訪問到已經在在父組件當中引入了的子組件, $children 返回的是子組件列表,是一個數組。
子組件中子組件可通過 $parent 來訪問父組件里的數據和定義的方法,如修改父組件中的$data。
ref
父組件中可為子組件定義一個ref屬性,然后父組件里通過$ref[對象子組件上定義的屬性名來訪問子組件里的數據
provide/inject
適用于祖先和后代關系的組件間的通信,祖先元素通過 provide 提供一個值,后代元素則通過 inject 獲取到這個值。這個值默認是非響應的,如果是對象那么則是響應式的:
bus
在Vue . 2.x 中, 推薦使用一個空的Vue 實例作為中央事件總線( bus ),也就是一個中介。
通信的組件必須都引入這個實例例。
通過bus.$emit() 傳遞出一個自定義事件
在需要進行操作的組件里,通過bus.$on 監聽這個自定義事件, 進行操作。
Vuex
Vuex 是Vue推出的狀態管理工具
Vuex 就是把需要共享的變量量全部存儲在一個對象里面,然后將這個對象放在頂層組件中供其他組件使用。這么說吧,將vue想作是一個js?文件、組件是函數,那么vuex就是一個全局變量,只是這個“全局變量”包含了一些特定的規則而已。
通過$store 這個對象訪問數據和調用在Vuex 里定義的公共方法。
bus vuex provide inject
以上就是“Vue中組件間通信的方式有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。