国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

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

圖片精選

主站蜘蛛池模板: 赣榆县| 文水县| 来安县| 绵阳市| 南宁市| 静海县| 涪陵区| 甘南县| 遵义市| 广州市| 加查县| 斗六市| 米易县| 穆棱市| 徐水县| 平南县| 读书| 安庆市| 雷山县| 手机| 铁岭市| 古田县| 亚东县| 宜川县| 琼中| 泽普县| 台中市| 体育| 尼玛县| 镇坪县| 名山县| 洪江市| 青州市| 霍林郭勒市| 潼南县| 托克逊县| 商河县| 潢川县| 临高县| 南阳市| 珠海市|