目錄
非父子元件通訊
全域性通訊
通過 props 向下傳遞,通過事件向上傳遞。
props (父子通訊)
e mi
t、
emit、
emit
、on(子父通訊)
//子元件
"$emit('add',c)"
>
<
/button>
//父元件
'cartadd($event)'
>
<
/cart>
注意:派送和監聽事件都是同乙個主體,即誰派送誰就監聽
ref、par
ent、
parent、
parent
、children
使用ref時需要注意
$attrs & $listeners (適用於深層巢狀元件 3介)
某些場景下,我們只需要將上層屬性層層傳遞到子孫元件時,如:
"message"
/>
"message"
/>
"message"
/>
provide & inject
// 父元件
provide()
}// 子元件
inject:
['form'
]
eventbus(**資料匯流排)
vue.prototype.$bus =
newvue()
// a元件
this
.$bus.
$emit
('message'
)// b元件
this
.$bus.
$on(
'message'
)
vuex
集中式儲存管理應用的所有元件的狀態,適用於中大型專案
元件通訊總結:
props & $emit (適用父子元件通訊)
a tt
rs、i
nher
itat
trs和
attrs、inheritattrs 和
attrs、
inhe
rita
ttrs
和listeners (適用深層巢狀元件(3介))
自定義**資料匯流排(如$bus)(適用跨級元件間通訊,缺點是多人合作時難以維護)
provide & inject (適用父子或父孫級元件, 缺點是只能做簡單的資料共享,對資料的操作和獲取不可控)
vuex (適用大型專案)
Vue元件通訊總結
直接給元件,新增屬性,在子元件中,使用props進行接收。子元件 props foo aoo 屬性的傳遞,也可以傳遞乙個方法,在子元件中執行這個方法,可以把引數傳遞到父元件中,達到通訊的目的。1 有兩種常見的方式,第一種方式,元件上定義事件。觸發這個事件的時候,直接使用emit。this.emit ...
vue之元件通訊
vue元件通訊一般分為以下幾種情況 1 父子元件通訊 2 兄弟元件通訊 3 跨多層級元件通訊 一 父子通訊 父元件通過props傳遞資料給子元件,子元件通過emit傳送事件傳遞資料給父元件。父元件和子元件通訊 父元件如下 template div class parent div id child ...
vue 元件間通訊總結
父 子元件通訊 1.props 此處不區分是否加引號,若不bind,皆作字串處理,否則作為表示式處理 若傳入物件,則子元件上的該物件與父元件中的該物件指向同乙個位址,如果希望對傳入的物件進行修改且不影響父元件,則需要看情況對其進行深 淺拷貝 若傳入的屬性在父元件中會發生變化,則將其放置在子元件的co...