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

首頁 > 語言 > JavaScript > 正文

Vue2.0實現組件之間數據交互和通信操作示例

2024-05-06 15:39:26
字體:
來源:轉載
供稿:網友

本文實例講述了Vue2.0實現組件之間數據交互和通信操作。分享給大家供大家參考,具體如下:

Vue2.0組件之間數據交互和通信。

Vue2.0廢棄了dispatch 和 $broadcast,如何在實現組件之間的數據交互和通信?下面是一個簡單的demo解決了這個問題。

事件中心(evengtHub.js):

//定義事件中心,在模板通信是使用。import Vue from 'vue';export default {  bus: new Vue()}

父組件:

<div>  <!--msg必須跟子組件的msg參數一致,@msg是子組件向父組件傳參數的接口,:msg是父組件向子組件傳參數的接口-->  <child1 @msg='getMsg' :msg1='msg1'></child1>  <child1 ref='child2'></child2><div>
<script>import bus form 'eventHub'  componets: {    child1: require('child1'),    child2: require('child2');  },  data() {    return: {      msg1: 'hello'    }  },  methods: {    getMsg(el) {       this.$refs.child2.drop(el);       //父組件調用child2組件的drop方法,傳遞el參數,子組件和子組件之間的通信    }  }</script>

子組件1

<template>  <div class='child1' @click='sendMsg'>{{msg}}<div></template>
<script>import bus form 'eventHub';//props屬性用于子組件接收父組件傳過來的參數  props: {    msg1 :String  },  methods: {    this.bus.$emit('add', event.target);//此方法可以通過子組件1在任意組件內響應點擊事件。    this.$emit('msg', event.target);//發送數據給父組件,這個方法的'msg'參數必須和父組件的@msg保持一致。  }</script>

子組件2

<template>  <div class='child2'><div></template>
<script>import bus form 'eventHub'methods: {  drop(el) {    console.log(el);//打印出child1的div元素  }},created() {  this.bus.$on('add',() => {    console.log('響應child1的點擊事件');  })}</script>

上面的例子中包括父子組件之間互相傳參數和組件之間的通信,更好的組件通信事件請使用vuex。

希望本文所述對大家vue.js程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 娄底市| 霞浦县| 永康市| 开封市| 三穗县| 金乡县| 宁津县| 台中县| 夹江县| 翼城县| 浦江县| 时尚| 天等县| 远安县| 郎溪县| 博乐市| 宝兴县| 盱眙县| 青河县| 伊宁市| 广州市| 彰化县| 石棉县| 嘉祥县| 佛坪县| 朝阳区| 孝昌县| 五莲县| 宁安市| 屏边| 柘荣县| 札达县| 中超| 泉州市| 涟水县| 招远市| 灵寿县| 庆阳市| 莱州市| 合阳县| 渭源县|