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 相关文章推荐
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
Mar 23 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
JavaScript操作选择对象的简单实例
May 16 Javascript
从0开始学Vue
Oct 27 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
Jul 03 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
刷新页面后让控制台的js代码继续执行
Sep 20 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 Javascript
JavaScript ES6的函数拓展
Jan 18 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+xslt在windows平台上
2006/10/09 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
javascript 类定义的4种方法
2009/09/12 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
Python读写Excel文件的实例
2013/11/01 Python
Python学习笔记_数据排序方法
2014/05/22 Python
python logging类库使用例子
2014/11/22 Python
python中循环语句while用法实例
2015/05/16 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
Pytorch转tflite方式
2020/05/25 Python
应用服务器有那些
2012/01/19 面试题
linux面试题参考答案(7)
2012/10/29 面试题
公司年底活动方案
2014/08/17 职场文书
组织生活会发言材料
2014/12/15 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
MySQL读取JSON转换的方式
2022/03/18 MySQL