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

首頁 > 編程 > JavaScript > 正文

vue父組件點擊觸發(fā)子組件事件的實例講解

2019-11-19 14:23:42
字體:
供稿:網(wǎng)友

最近在學(xué)習(xí)Vue父子組件通信的問題,剛好遇到一個父子之間事件事件派發(fā)與接收,在這里記錄一下,在這里我使用的是ref

給子組件注冊引用信息。官網(wǎng)是這樣解釋的

ref 被用來給元素或子組件注冊引用信息。引用信息將會注冊在父組件的 $refs 對象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 如果用在子組件上,引用就指向組件實例:

父組件app.vue

<template>  <div id="app">  <!--父組件-->  <input v-model="msg">  <button v-on:click="notify">廣播事件</button>  <!--子組件-->  <popup ref="child" ></popup>  </div> </template> <script>  import popup from '@/components/popup'  export default {  name: 'app',  data: function () {   return {   msg: ''   }  },  components: {   popup  },  methods: {   notify: function () {   if (this.msg.trim()) {    this.$refs.child.parentMsg(this.msg)   }   }  }  } </script> <style>  #app {  font-family: 'Avenir', Helvetica, Arial, sans-serif;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;  text-align: center;  color: #2c3e50;  margin-top: 60px;  } </style>

子組件popup.vue

<template>   <div>   <ul>    <li v-for="item in messages">父組件輸入了:{{item}}</li>   </ul>   </div>  </template>  <style>   body {    background-color: #ffffff;   }  </style>  <script>  export default{   name: 'popup',   data: function () {   return {    messages: []   }   },   methods: {   parentMsg: function (msg) {    this.messages.push(msg)   }   }  }  </script>

我把這個實例分為幾個步驟解讀:

1、父組件的button元素綁定click事件,該事件指向notify方法

2、給子組件注冊一個ref="child"

3、父組件的notify的方法在處理時,使用了$refs.child把事件傳遞給子組件的parentMsg方法,同時攜帶著父組件中的參數(shù)msg

4、子組件接收到父組件的事件后,調(diào)用了parentMsg方法,把接收到的msg放到message數(shù)組中

運行結(jié)果如下:

以上這篇vue父組件點擊觸發(fā)子組件事件的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安图县| 丹东市| 莱阳市| 镇坪县| 西宁市| 武乡县| 霍山县| 漯河市| 灯塔市| 汽车| 连江县| 商城县| 彭阳县| 建平县| 寿宁县| 肃宁县| 手游| 商河县| 永顺县| 古丈县| 巢湖市| 昌宁县| 赤峰市| 民和| 福贡县| 七台河市| 双辽市| 昌黎县| 葫芦岛市| 陇川县| 新乡县| 句容市| 将乐县| 肥东县| 隆回县| 临洮县| 灵寿县| 罗城| 富源县| 安平县| 林口县|