Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信


Posted in Javascript onFebruary 23, 2017

最近在学习vue组件鸡组件之前通信问题,正好看到,以此来留作笔记。

<!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 相关文章推荐
div+css布局的图片连续滚动js实现代码
May 04 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
JS批量修改PS中图层名称的方法
Jan 26 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
js上传图片及预览功能实例分析
Apr 24 Javascript
javascript实现Table排序的方法
May 15 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
深入浅析var,let,const的异同点
Aug 07 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 #Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 #Javascript
js实现简单的选项卡效果
Feb 23 #Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 #Javascript
jQuery事件详解
Feb 23 #Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 #Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 #Javascript
You might like
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
python sort、sort_index方法代码实例
2019/03/28 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
Django stark组件使用及原理详解
2019/08/22 Python
python set集合使用方法解析
2019/11/05 Python
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
大学生咖啡店创业计划书
2014/01/21 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
六查六看剖析材料
2014/10/06 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle