亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue2.x中的父子組件相互通信的實現(xiàn)方法

 更新時間:2017年05月02日 10:33:09   投稿:mrr  
這篇文章主要介紹了Vue2.x中的父子組件相互通信,需要的朋友可以參考下

業(yè)務(wù)場景:(這里指的是直接父子級關(guān)系的通信)

  • 美女(子組件)將消息發(fā)送給大群(父組件)
  • 大群(父組件)收到美女發(fā)送的消息后再回個信息給美女(子組件)

父組件

template

<template>
  <div>
    <p>群消息girl:</p>
    <div>
      {{ somebody }} 說: 我 {{ age }} 了。
    </div>
    <hr>
    <v-girl-group 
        :girls="aGirls" 
        :noticeGirl="noticeGirl"
        @introduce="introduceSelf"></v-girl-group>
  </div>
</template>

注意的點:

  • 這里在父組件使用v-on來監(jiān)聽子組件上的自定義事件($emit的變化),一旦發(fā)生變化noticeGirl方法就會觸發(fā)
<script>
import vGirlGroup from './GirlGroup'
export default {
  name: 'girl',
  components: {
    vGirlGroup
  },
  data () {
    return {
      aGirls:[{
        name:'小麗',
        age:22
      },{
        name:'小美',
        age:21
      },{
        name:'小荷',
        age:24
      }],
      somebody:'',
      age:'',
      noticeGirl:''
    }
  },
  methods: {
    introduceSelf (opt) {
      this.somebody = opt.name;
      this.age = opt.age;
      // 通知girl收到消息
      this.noticeGirl = opt.name + ',已收到消息';
    }
  }
}
</script>

注意的點:

這里methods中定義的方法introduceSelf就是父組件接收到子組件發(fā)出的$emit的事件處理程序

子組件

template

<template>
  <div>
    <ul>
      <li v-for="(value, index) in girls">
        {{ index }} - {{ value.name }} - {{ value.age }} 
        <button @click="noticeGroup(value.name,value.age)">發(fā)送消息</button>
      </li> 
    </ul>
    <div>接收來自大群的消息:{{ noticeGirl }}</div>
  </div>
</template>

script

<script>
export default {
  name: 'girl-group',
  props: {
    girls: {
      type: Array,
      required: true
    },
    noticeGirl: {
      type: String,
      required: false
    }
  },
  methods: {
    noticeGroup (name, age) {
      this.$emit('introduce',{
        name: name,
        age: age
      })
    }
  }
}
</script>

注意的點:

子組件使用$emit發(fā)出自定義事件

相比于Vue1.x的變化:

$dispatch 和 $broadcast 已經(jīng)被棄用

*官方推薦的通信方式

首選使用Vuex

使用事件總線:eventBus,允許組件自由交流

具體可見:https://cn.vuejs.org/v2/guide/migration.html#dispatch-和-broadcast-替換

結(jié)果

以上所述是小編給大家介紹的Vue2.x中的父子組件相互通信,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • VUE搭建手機(jī)商城心得和遇到的坑

    VUE搭建手機(jī)商城心得和遇到的坑

    這篇文章主要介紹了VUE搭建手機(jī)商城心得和遇到的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue頁面渲染數(shù)組中數(shù)據(jù)文案后添加逗號最后不加

    vue頁面渲染數(shù)組中數(shù)據(jù)文案后添加逗號最后不加

    這篇文章主要為大家介紹了vue頁面渲染數(shù)組中數(shù)據(jù)文案后添加逗號最后不加逗號示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳

    Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳

    文件上傳在很多項目中都用的到,如果是幾M的很快就傳送完畢,如果是大文件呢?本文將利用Vue+Node實現(xiàn)大文件上傳和斷點續(xù)傳,感興趣的可以了解一下
    2022-04-04
  • vue實現(xiàn)上傳圖片添加水印(升級版)

    vue實現(xiàn)上傳圖片添加水印(升級版)

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)上傳圖片添加水印的升級版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue獲取后臺json字符串方式

    vue獲取后臺json字符串方式

    這篇文章主要介紹了vue獲取后臺json字符串方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Element輸入框帶歷史查詢記錄的實現(xiàn)示例

    Element輸入框帶歷史查詢記錄的實現(xiàn)示例

    這篇文章主要介紹了Element輸入框帶歷史查詢記錄的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue項目引用百度地圖并實現(xiàn)搜索定位等功能(案例分析)

    Vue項目引用百度地圖并實現(xiàn)搜索定位等功能(案例分析)

    這篇文章主要介紹了Vue項目引用百度地圖并實現(xiàn)搜索定位等功能(案例分析),本篇文章為案例分析,技術(shù)點較多,所以篇幅較長,認(rèn)真閱覽的你一定會學(xué)到很多知識,需要的朋友可以參考下
    2022-09-09
  • 關(guān)于vue.extend和vue.component的區(qū)別淺析

    關(guān)于vue.extend和vue.component的區(qū)別淺析

    最近工作中遇到了vue.extend,vue.component,但二者之間的區(qū)別與聯(lián)系是什么呢?下面這篇文章主要給大家介紹了關(guān)于vue.extend和vue.component區(qū)別的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • 基于Vue實現(xiàn)頁面全屏封裝的詳細(xì)步驟

    基于Vue實現(xiàn)頁面全屏封裝的詳細(xì)步驟

    眾所周知:目前可視化大屏,視頻播放等常見功能都需要用到全屏,本文將使用兩種技術(shù)實現(xiàn)全屏功能的封裝,讓不同技術(shù)棧的同學(xué)都可以輕松掌握,好了,讓我們來實現(xiàn)一個既兼容性強(qiáng)又易于管理的全屏功能組件吧,需要的朋友可以參考下
    2024-08-08
  • Vue中用props給data賦初始值遇到的問題解決

    Vue中用props給data賦初始值遇到的問題解決

    這篇文章主要介紹了Vue中用props給data賦初始值遇到的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論