是不是自定義事件不能從孫子組件直接傳遞到爺爺組件?如果是,幫忙解釋下原因,謝謝
uj5u.com熱心網友回復:
明白了,非常感謝,非常感謝uj5u.com熱心網友回復:
是的,不能。自定義事件只能由組件傳遞給它的父組件,并不會繼續傳遞。換句話說,自定義事件沒有冒泡機制。至于為什么,只能說 Vue 事件機制就是這樣設計的。如果你要問這么設計的目的,簡單來說就是為了簡化資料流在組件間的傳遞。向下單向資料流是符合直覺的,也容易理解。但總有時候,狀態產生于子級元素而需要由父級元素消費,這就出現了反向狀態傳遞。在向下單向資料流的大原則下,這種反向傳遞不應該有很多(否則大原則就站不住了),影響范圍也不應該很大(否則會增加狀態的復雜度),于是自定義事件只向上傳遞一層的默認行為就很理所當然了。此外,事件本身不限定消費者,自定義事件的結構又不統一,如果有冒泡機制,萬一中間有誰恰好消費相同特征(事件名)的事件,那就亂了。
uj5u.com熱心網友回復:
可以的,用 v-on="$listeners" ,這個是vue2.4增加的功能轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/242038.html
標籤:其他技術討論專區
上一篇:日常求助
下一篇:羅斯蒙特流量計指示故障的原因
