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插件
Nov 24 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
Dec 20 Javascript
jquery文档操作wrap()方法实例简述
Jan 10 Javascript
浅析Javascript中bind()方法的使用与实现
May 30 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
Jun 23 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
ECMAScript6变量的解构赋值实例详解
Sep 19 Javascript
微信小程序和百度的语音识别接口详解
May 06 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
python 列表递归求和、计数、求最大元素的实例
2018/11/28 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
tensorflow 查看梯度方式
2020/02/04 Python
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
init进程的作用
2012/04/12 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
兼职学生的自我评价
2013/11/24 职场文书
领导党性分析材料
2014/02/15 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
党员检讨书
2014/10/13 职场文书
python实现简易名片管理系统
2021/04/11 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers