最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue2.0子同級組件之間數(shù)據(jù)交互方法

 更新時間:2018年02月28日 14:17:37   作者:wjq_smile  
下面小編就為大家分享一篇Vue2.0子同級組件之間數(shù)據(jù)交互方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

熟悉了Vue.js的同級組件之間通信,寫此文章,以便記錄。

Vue是一個輕量級的漸進式框架,對于它的一些特性和優(yōu)點,請在官網(wǎng)上進行查看,不再贅述。

使用NPM及相關(guān)命令行工具初始化的Vue工程,目錄結(jié)構(gòu)如下

接著我們進入Demo,首先我們可以刪除掉模板項目中src/components/Hello.vue,然后在App.vue中刪除對于Hello子組件的注冊和使用還有一些其他無關(guān)緊要的東西,此時的App.vue應(yīng)為這樣

一、我們先來創(chuàng)建中央事件總線,在src/assets/下創(chuàng)建一個eventBus.js,

內(nèi)容如下(eventBus中我們只創(chuàng)建了一個新的Vue實例,以后它就承擔起了組件之間通信的橋梁了,也就是中央事件總線。)

二、 創(chuàng)建一個firstChild組件,引入eventBus這個事件總線,接著添加一個按鈕并綁定一個點擊事件

1、我們在響應(yīng)點擊事件的sendMsg函數(shù)中用$emit觸發(fā)了一個自定義的userDefinedEvent事件,并傳遞了一個字符串參數(shù)

2、$emit實例方法觸發(fā)當前實例(這里的當前實例就是bus)上的事件,附加參數(shù)都會傳給監(jiān)聽器回調(diào)。

三、 我們再創(chuàng)建一個secondChild組件,引入eventBus事件總線,并用一個p標簽來顯示傳遞過來的值

1、我們在mounted中,監(jiān)聽了userDefinedEvent,并把傳遞過來的字符串參數(shù)傳遞給了$on監(jiān)聽器的回調(diào)函數(shù)

2、mounted:是一個Vue生命周期中的鉤子函數(shù),簡單點說就類似于jQuery的ready,Vue會在文檔加載完畢后調(diào)用mounted函數(shù)。

3、$on:監(jiān)聽當前實例上的自定義事件(此處當前實例為bus)。事件可以由$emit觸發(fā),回調(diào)函數(shù)會接收所有傳入事件觸發(fā)函數(shù)($emit)的額外參數(shù)。

四、在父組件中,注冊這兩個組件,并添加這兩個組件的標簽

保存所有修改的文件,然后打開瀏覽器窗口,內(nèi)容如下(css請自行處理)

 

點擊向組件傳值按鈕,我們可以看到傳值成功

 

總結(jié):

1、創(chuàng)建一個事件總線,例如demo中的eventBus,用它作為通信橋梁

2、在需要傳值的組件中用bus.$emit觸發(fā)一個自定義事件,并傳遞參數(shù)

3、在需要接收數(shù)據(jù)的組件中用bus.$on監(jiān)聽自定義事件,并在回調(diào)函數(shù)中處理傳遞過來的參數(shù)

另外:

1、兄弟組件之間與父子組件之間的數(shù)據(jù)交互,兩者相比較,兄弟組件之間的通信其實和子組件向父組件傳值有些類似,其實他們的通信原理都是相同的,例如子向父傳值也是$emit和$on的形式,只是沒有eventBus,但若我們仔細想想,此時父組件其實就充當了bus這個事件總線的角色。

2、這種用一個Vue實例來作為中央事件總線來管理組件通信的方法只適用于通信需求簡單一點的項目,對于更復(fù)雜的情況,Vue也有提供更復(fù)雜的狀態(tài)管理模式Vuex來進行處理。

以上這篇Vue2.0子同級組件之間數(shù)據(jù)交互方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue 子組件向父組件傳值方法

    vue 子組件向父組件傳值方法

    下面小編就為大家分享一篇vue 子組件向父組件傳值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Vue3封裝 Message消息提示實例函數(shù)詳解

    Vue3封裝 Message消息提示實例函數(shù)詳解

    這篇文章主要介紹了Vue3封裝 Message消息提示實例函數(shù),具有一定的實用價值,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • vue使用highcharts自定義圖例點擊事件

    vue使用highcharts自定義圖例點擊事件

    這篇文章主要為大家詳細介紹了vue使用highcharts自定義圖例點擊事件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 如何隱藏element-ui中tree懶加載葉子節(jié)點checkbox(分頁懶加載效果)

    如何隱藏element-ui中tree懶加載葉子節(jié)點checkbox(分頁懶加載效果)

    這篇文章主要介紹了如何隱藏element-ui中tree懶加載葉子節(jié)點checkbox(分頁懶加載效果),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue前端開發(fā)之實現(xiàn)交錯過渡動畫效果

    Vue前端開發(fā)之實現(xiàn)交錯過渡動畫效果

    這篇文章主要為大家詳細介紹了如何通過Vue實現(xiàn)交錯過渡動畫效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • Vue中用watch一次監(jiān)聽多個值變化的示例詳解

    Vue中用watch一次監(jiān)聽多個值變化的示例詳解

    在Vue中,watch 本身不能監(jiān)聽多個變量,但我們可以通過返回具有計算屬性的對象然后監(jiān)聽該對象,從而實現(xiàn)一次性“監(jiān)聽多個變量”,本文給大家介紹了Vue中用watch一次監(jiān)聽兩個值變化的示例,需要的朋友可以參考下
    2024-01-01
  • 深入淺析Vue組件開發(fā)

    深入淺析Vue組件開發(fā)

    本文是主要介紹基于Vue的一個組件開發(fā)。本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友參考下吧
    2016-11-11
  • Vue中對比scoped css和css module的區(qū)別

    Vue中對比scoped css和css module的區(qū)別

    這篇文章主要介紹了Vue中scoped css和css module的區(qū)別對比,scoped css可以直接在能跑起來的vue項目中使用而css module需要增加css-loader配置才能生效。具體內(nèi)容詳情大家參考下本文
    2018-05-05
  • fullcalendar日程管理插件月份切換回調(diào)處理方案

    fullcalendar日程管理插件月份切換回調(diào)處理方案

    這篇文章主要為大家介紹了fullcalendar日程管理插件月份切換回調(diào)處理的方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • vue數(shù)據(jù)初始化initState的實例詳解

    vue數(shù)據(jù)初始化initState的實例詳解

    Vue 實例在建立的時候會運行一系列的初始化操作,而在這些初始化操作里面,和數(shù)據(jù)綁定關(guān)聯(lián)最大的是 initState。這篇文章主要介紹了vue數(shù)據(jù)初始化--initState,需要的朋友可以參考下
    2019-04-04

最新評論

仁怀市| 石台县| 灵台县| 建宁县| 胶南市| 沈阳市| 招远市| 黄石市| 宝兴县| 淳安县| 天峨县| 乐亭县| 金塔县| 五家渠市| 常州市| 鲜城| 望都县| 奉化市| 德清县| 武强县| 尚义县| 边坝县| 寿光市| 胶南市| 调兵山市| 石狮市| 积石山| 冀州市| 北海市| 芜湖县| 台中市| 牡丹江市| 青海省| 武安市| 龙南县| 泸西县| 汉寿县| 诸城市| 宁国市| 五华县| 台安县|