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全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
jQuery取id有.的值的方法
May 21 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 Javascript
关于Webpack dev server热加载失败的解决方法
Feb 22 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
详解JavaScript中的坐标和距离
May 27 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
开发一个封装iframe的vue组件
Mar 29 Vue.js
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简单定时执行任务的实现方法
2015/02/23 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
JS二分查找算法详解
2017/11/01 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
使用p5.js临摹动态图形
2019/10/23 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
Python的subprocess模块总结
2014/11/07 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python实现截屏的函数
2015/07/25 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python运行DLL文件的方法
2020/01/17 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
应届生如何写自荐信
2014/01/05 职场文书
机关门卫制度
2014/02/01 职场文书
绿色小区申报材料
2014/08/22 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
青春雷锋观后感
2015/06/10 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技