Vue組件通信

參考自vue.js 官方文檔

如果你使用 Vue 進行開發(fā)的話,你不得不了解的一項就是 Vue 的組件(Component)。

組件是 Vue 中一項很強大的功能,它可以擴展 Html 元素,封裝可重用代碼,減少工作量。

在使用組件開發(fā)時的一大問題就是組件之間如何進行通信??如果組件之間不能通信的話,那么它將大大減少的開發(fā)效率以及工作樂趣。

Vue 中的組件通信分為 父子組件通信 、 兄弟組件通信 這兩大類。

父子組件通信

在 Vue 中,父子組件的關(guān)系可以理解為 props向下傳遞 、 事件向上傳遞 。

組件之間的作用域是孤立的,無法直接引用其他組件之內(nèi)的數(shù)據(jù)。

如果子組件想要使用父組件內(nèi)的數(shù)據(jù)應(yīng)該如何去做呢??

子組件需要通過 props 來聲明預(yù)期的數(shù)據(jù),而父組件通過直接在子組件內(nèi)傳值的方式將數(shù)據(jù)傳給子組件。

父子組件傳值
展示效果

如果你想要動態(tài)傳值,只需要使用v-bind綁定所傳的值。

動態(tài)綁定
結(jié)果同步更新

兄弟組件通信

有人可能發(fā)現(xiàn)為什么父子組件通信中只寫了父組件將數(shù)據(jù)傳遞給子組件的方法,卻沒有寫如何在子組件中將數(shù)據(jù)傳遞給父組件??

因為在子組件中,如果想要把數(shù)據(jù)傳遞給父組件,需要用到的方法和兄弟組件通信的方法是一樣的。

這個時候就需要用到 Vue 的自定義事件 $on(eventName)$emit(eventName) 來進行監(jiān)聽和觸發(fā)事件。

監(jiān)聽觸發(fā)事件
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 組件通信各種情況總結(jié)VUE是以數(shù)據(jù)驅(qū)動的MVVM框架,又是模塊化開發(fā),所以各個組件間的通信傳遞數(shù)據(jù)非常重要,在項目...
    流年_338f閱讀 621評論 0 2
  • vue 組件通信分為父組件與子組件通信、子組件與父組件通信、非父子關(guān)系組件通信三種 第一種大家都知道用props,...
    lyn911閱讀 2,281評論 0 0
  • 前言 本文主要說明Vue的核心內(nèi)容---組件間的通信。文中將使用幾個栗子來了解,本文示例基于Vue2.0。 父子組...
    yimi珊閱讀 1,444評論 0 2
  • 1) 父組件給子組件傳值 利用Vue的組件機制,父親組件通過 v-bind指令給子組件綁定一個屬性,屬性值為父組件...
    小楓學(xué)幽默閱讀 583評論 1 7
  • 一看到#陳思誠 佟麗婭#上熱搜,小編掐指一算,立馬就知道事情來了。 事情是這樣的,陳思誠在零點送祝福給佟麗婭,配文...
    潮流一起說閱讀 401評論 0 0

友情鏈接更多精彩內(nèi)容