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

vue2.0父子組件間通信的實現(xiàn)方法

 更新時間:2017年04月19日 11:26:24   作者:JackWhite  
本篇文章主要介紹了vue2.0父子組件間通信的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

1.父組件傳遞數(shù)據(jù)給子組件

父組件數(shù)據(jù)如何傳遞給子組件呢?可以通過props屬性來實現(xiàn)

父組件:

<parent> 
<child :child-msg="msg"></child>//這里必須要用 - 代替駝峰
</parent>
data(){ return { msg: [1,2,3] };}

子組件通過props來接收數(shù)據(jù):

方式1:

props: ['childMsg']

方式2 :

props: { childMsg: Array //這樣可以指定傳入的類型,如果類型不對,會警告}
props: { childMsg: { type: Array, default: [0,0,0] //這樣可以指定默認的值 }}

這樣呢,就實現(xiàn)了父組件向子組件傳遞數(shù)據(jù).

2.子組件與父組件通信

那么,如果子組件想要改變數(shù)據(jù)呢?這在vue中是不允許的,因為vue只允許單向數(shù)據(jù)傳遞,這時候我們可以通過觸發(fā)自定義事件來通知父組件改變數(shù)據(jù),從而達到改變子組件數(shù)據(jù)的目的.

使用 v-on 綁定自定義事件

每個 Vue 實例都實現(xiàn)了事件接口(Events interface),即:

  1. 使用 $on(eventName) 監(jiān)聽事件
  2. 使用 $emit(eventName) 觸發(fā)事件

父組件可以在使用子組件的地方直接用 v-on 來監(jiān)聽子組件觸發(fā)的事件。

子組件:

<template>
<div @click="up">
</div>
</template>
methods: { up() { this.$emit('resultChange','hehe');
      //主動觸發(fā)resultChange方法,'hehe'為向父組件傳遞的數(shù)據(jù) }}

父組件:

<div>
<child @on-result-change="mychangHandle" :msg="msg">
</child> //監(jiān)聽子組件觸發(fā)的upup事件,然后調(diào)用change方法
</div>
methods: { mychangHandle(msg) { this.msg = msg; }}

觸發(fā)事件使用駝峰格式的自定義事件名稱,在父組件中就可以使用on-evnet-name的形式來監(jiān)聽。

3.任意組件間通信

如果2個組件不是父子組件那么如何通信呢?這時可以通過eventHub來實現(xiàn)通信.

所謂eventHub就是創(chuàng)建一個事件中心,相當于中轉(zhuǎn)站,可以用它來傳遞事件和接收事件.

使用一個空的 Vue 實例作為中央事件總線:

let Hub = new Vue(); //創(chuàng)建事件中心,注意Hub要放在全局

組件1觸發(fā):

<div @click="eve">
</div>
methods: { eve() { Hub.$emit('change','hehe'); //Hub觸發(fā)事件 }}

組件2接收:

<div></div>
created() { Hub.$on('change', () => { //Hub接收事件 this.msg = 'hehe'; });}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • electron最小化托盤設(shè)置

    electron最小化托盤設(shè)置

    本文主要介紹了electron最小化托盤設(shè)置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Vue報錯:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#<Object>‘的解決方法

    Vue報錯:Uncaught TypeError: Cannot assign to read only propert

    這篇文章主要給大家介紹了關(guān)于Vue報錯:Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' 的解決方法,文中介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Vue動態(tài)組件和異步組件原理詳解

    Vue動態(tài)組件和異步組件原理詳解

    這篇文章主要給大家介紹了關(guān)于Vue動態(tài)組件和異步組件原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue-lazyload使用總結(jié)(推薦)

    vue-lazyload使用總結(jié)(推薦)

    vue項目用到vue-lazyload做圖片懶加載,這篇文章主要介紹了vue-lazyload使用總結(jié),解決這個插件的坑,非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • 實現(xiàn)一個VUE響應(yīng)式屬性裝飾器詳析

    實現(xiàn)一個VUE響應(yīng)式屬性裝飾器詳析

    這篇文章主要介紹了實現(xiàn)一個VUE響應(yīng)式屬性裝飾器詳析,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • vue使用threeJs導(dǎo)入obj模型并實現(xiàn)添加標注

    vue使用threeJs導(dǎo)入obj模型并實現(xiàn)添加標注

    這篇文章主要介紹了vue使用threeJs導(dǎo)入obj模型并實現(xiàn)添加標注方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 關(guān)于Vue實現(xiàn)組件信息的緩存問題

    關(guān)于Vue實現(xiàn)組件信息的緩存問題

    這篇文章主要介紹了關(guān)于Vue實現(xiàn)組件信息的緩存問題的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • 用了babel還需要polyfill嗎原理解析

    用了babel還需要polyfill嗎原理解析

    這篇文章主要為大家介紹了用了babel是否還需要polyfill的原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • vue-loader教程介紹

    vue-loader教程介紹

    本篇文章主要介紹了vue-loader教程介紹,vue-loader就是告訴webpack如何將vue格式的文件轉(zhuǎn)換成js。有興趣的可以了解一下
    2017-06-06
  • Vue項目中跨域問題解決方案

    Vue項目中跨域問題解決方案

    本文給大家介紹了vue項目中跨域問題的完美解決方案,通過更改header,使用http-proxy-middleware 代理解決(項目使用vue-cli腳手架搭建),具體內(nèi)容詳情大家跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06

最新評論

伊吾县| 综艺| 饶河县| 贵德县| 武汉市| 衡水市| 沂南县| 青冈县| 夹江县| 白河县| 阜宁县| 丹江口市| 南宁市| 铜陵市| 沈阳市| 珲春市| 神农架林区| 革吉县| 揭阳市| 东台市| 布尔津县| 桦甸市| 玛沁县| 儋州市| 隆回县| 河曲县| 邯郸县| 南充市| 石景山区| 荃湾区| 砚山县| 盐源县| 兴业县| 宜宾市| 新巴尔虎右旗| 钟祥市| 图木舒克市| 廉江市| 湟源县| 兴仁县| 楚雄市|