vue組件中$emit()的作用

儘管子組件可以用this.$parent訪問它的父組件及其父鏈上任意的實例,不過子組件應當避免直接依賴父組件的數據,儘量顯式地使用 props 傳遞數據。另外,在子組件中修改父組件的狀態是非常糟糕的做法,因爲: 

  1. 這讓父組件與子組件緊密地耦合; 
  2. 只看父組件,很難理解父組件的狀態。因爲它可能被任意子組件修改!理想情況下,只有組件自己能修改它的狀態。

  每個Vue實例都是一個事件觸發器:

  • $on()——監聽事件。
  • $emit()——把事件沿着作用域鏈向上派送。(觸發事件)!!
  • $dispatch()——派發事件,事件沿着父鏈冒泡。
  • $broadcast()——廣播事件,事件向下傳導給所有的後代。
發佈了39 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章