国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue2.x中的父子組件相互通信的實現方法

2019-11-19 16:40:54
字體:
來源:轉載
供稿:網友

業務場景:(這里指的是直接父子級關系的通信)

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

父組件

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來監聽子組件上的自定義事件($emit的變化),一旦發生變化noticeGirl方法就會觸發
<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就是父組件接收到子組件發出的$emit的事件處理程序

子組件

template

<template>  <div>    <ul>      <li v-for="(value, index) in girls">        {{ index }} - {{ value.name }} - {{ value.age }}         <button @click="noticeGroup(value.name,value.age)">發送消息</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發出自定義事件

相比于Vue1.x的變化:

$dispatch 和 $broadcast 已經被棄用

*官方推薦的通信方式

首選使用Vuex

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

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

結果

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托里县| 东乌珠穆沁旗| 呼玛县| 龙岩市| 法库县| 石嘴山市| 榆林市| 攀枝花市| 宣恩县| 托里县| 靖宇县| 徐汇区| 磐石市| 柯坪县| 高雄县| 荃湾区| 陇西县| 宜州市| 米易县| 合江县| 女性| 龙川县| 公主岭市| 宜兰市| 高雄市| 沈阳市| 独山县| 达尔| 淳安县| 西乡县| 黄龙县| 乌拉特中旗| 依安县| 凤阳县| 克东县| 灌阳县| 汽车| 青铜峡市| 汝州市| 红原县| 西吉县|