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 相关文章推荐
最近项目写了一些js,水平有待提高
Jan 31 Javascript
Javascript弹出窗口的各种方法总结
Nov 11 Javascript
js实现图片旋转的三种方法
Apr 10 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
纯javascript制作日历控件
Jul 17 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
JS产生随机数的几个用法详解
Jun 22 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
vue中实现回车键登录功能
Feb 19 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
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
为输入框加入数字js校验代码分享
2017/11/02 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python 图片验证码代码
2008/12/07 Python
给Python入门者的一些编程建议
2015/06/15 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python方向键控制上下左右代码
2018/01/20 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
会计电算化个人求职信范文
2014/01/24 职场文书
经典演讲稿开场白
2014/08/25 职场文书
一般纳税人申请报告
2015/05/18 职场文书
2015小学师德工作总结
2015/07/21 职场文书
初中班主任心得体会
2016/01/07 职场文书
教师听课学习心得体会
2016/01/15 职场文书