Vue2单一事件管理组件通信


Posted in Javascript onMay 09, 2017

本文为大家分享了vue $emit 和 $on 组件通信,供大家参考,具体内容如下

<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8" /> 
 <title>Vue2-单一事件管理组件通信</title> 
 <script src="vue.js"></script> 
 <script type="text/javascript"> 
 
 //准备一个空的实例对象 
 var Event = new Vue(); 
 
 //组件A 
 var A = { 
  template: ` 
   <div> 
    <span>我是A组件的数据->{{a}}</span> 
    <input type="button" value="把A数据传给C" @click = "send"> 
   </div> 
  `, 
  methods: { 
   send () { 
    Event.$emit("a-msg", this.a); 
   } 
  }, 
  data () { 
   return { 
    a: "我是a组件中数据" 
   } 
  } 
 }; 
 //组件B 
 var B = { 
  template: ` 
   <div> 
    <span>我是B组件的数据->{{a}}</span> 
    <input type="button" value="把B数据传给C" @click = "send"> 
   </div> 
  `, 
  methods: { 
   send () { 
    Event.$emit("b-msg", this.a); 
   } 
  }, 
  data () { 
   return { 
    a: "我是b组件中数据" 
   } 
  } 
 }; 
 //组件C 
 var C = { 
  template: ` 
   <div> 
    <h3>我是C组件</h3> 
    <span>接收过来A的数据为: {{a}}</span> 
    <br> 
    <span>接收过来B的数据为: {{b}}</span> 
   </div> 
  `, 
  mounted () { 
   //接收A组件的数据 
   Event.$on("a-msg", function (a) { 
    this.a = a; 
   }.bind(this)); 
 
   //接收B组件的数据 
   Event.$on("b-msg", function (a) { 
    this.b = a; 
   }.bind(this)); 
  }, 
  data () { 
   return { 
    a: "", 
    b: "" 
   } 
  } 
 }; 
 window.onload = function () { 
  new Vue({ 
   el: "#box", 
   components: { 
    "dom-a": A, 
    "dom-b": B, 
    "dom-c": C 
   } 
  }); 
 }; 
 
 
 </script> 
</head> 
<body> 
 <div id="box"> 
  <dom-a></dom-a>  
  <dom-b></dom-b>  
  <dom-c></dom-c>  
 </div> 
 
</body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery选择没有colspan属性的td的代码
Jul 06 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
Javascript中的return作用及javascript return关键字用法详解
Nov 05 Javascript
使用伪命名空间封装保护独自创建的对象方法
Aug 04 Javascript
Bootstrap输入框组件简单实现代码
Mar 06 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
Es6 Generator函数详细解析
Feb 24 Javascript
Vue无限滑动周选择日期的组件的示例代码
Jul 18 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
vue实现菜单切换功能
May 08 Javascript
详解json串反转义(消除反斜杠)
Aug 12 Javascript
react-router实现按需加载
May 09 #Javascript
BootStrap表单时间选择器详解
May 09 #Javascript
兼容浏览器的js事件绑定函数(详解)
May 09 #Javascript
JS触摸与手势事件详解
May 09 #Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
May 09 #Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
May 09 #Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 #Javascript
You might like
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
Javascript 实用小技巧
2010/04/07 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
python实现俄罗斯方块游戏
2020/03/25 Python
python判断设备是否联网的方法
2018/06/29 Python
python学生管理系统开发
2019/01/30 Python
python实现扫雷游戏
2020/03/03 Python
Python matplotlib实时画图案例
2020/04/23 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
夫妻分居协议书范文
2014/11/26 职场文书
财务部岗位职责
2015/02/03 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
nginx 配置缓存
2022/05/11 Servers