Vue2.0实现组件之间数据交互和通信操作示例


Posted in Javascript onMay 16, 2019

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
js表格分页实现代码
Sep 18 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
详解本地Node.js服务器作为api服务器的解决办法
Feb 28 Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 Javascript
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
Vue press 支持图片放大功能的实例代码
Nov 09 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
js面向对象之实现淘宝放大镜
Jan 15 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 #Javascript
JS左右无缝轮播功能完整实例
May 16 #Javascript
Node.js Windows Binary二进制文件安装方法
May 16 #Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 #Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 #Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
May 16 #Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 #Javascript
You might like
php中的比较运算符详解
2013/10/28 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
python实现随机梯度下降法
2020/03/24 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
计算机大学生的自我评价
2013/10/15 职场文书
文秘自荐信
2013/10/20 职场文书
园林资料员岗位职责
2013/12/30 职场文书
中学生班主任评语
2014/01/30 职场文书
远程研修随笔感言
2014/02/10 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
基层党员对照检查材料
2014/08/25 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
任命书格式模板
2015/09/22 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis