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

发布时间 - 2026-01-10 23:15:00    点击率:

最近在学习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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 兄弟组件通信  # vue组件通信  # emit  # 传参  # vue之父子组件间通信实例讲解(props、$ref、$emit)  # Vue.js每天必学之组件与组件间的通信  # Vuejs第十篇之vuejs父子组件通信  # Vue组件通信之Bus的具体使用  # 详解Vue 非父子组件通信方法(非Vuex)  # vue中的$emit 与$on父子组件与兄弟组件的之间通信方式  # Vue 之孙组件向爷组件通信的实现  # vue中组件通信的八种方式(值得收藏!)  # 深入探讨Vue.js组件和组件通信  # vue实现组件通信的八种方法实例  # 我是  # 大家多多  # script  # title  # meta  # charset  # UTF  # javascript  # var  # Event  # src  # type  # text  # class  # brush  # js  # br  # pre  # lt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  移动端脚本框架Hammer.js  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  网站优化排名时,需要考虑哪些问题呢?  JavaScript实现Fly Bird小游戏  如何在IIS中新建站点并配置端口与物理路径?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  浅谈redis在项目中的应用  phpredis提高消息队列的实时性方法(推荐)  高防服务器租用如何选择配置与防御等级?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何在香港免费服务器上快速搭建网站?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  独立制作一个网站多少钱,建立网站需要花多少钱?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  手机软键盘弹出时影响布局的解决方法  Laravel如何为API生成Swagger或OpenAPI文档  创业网站制作流程,创业网站可靠吗?  Laravel中的withCount方法怎么高效统计关联模型数量  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  黑客如何通过漏洞一步步攻陷网站服务器?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  香港服务器网站推广:SEO优化与外贸独立站搭建策略  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  制作公司内部网站有哪些,内网如何建网站?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何自定义分页视图?(Pagination示例)  Python制作简易注册登录系统  简单实现Android文件上传  如何在宝塔面板创建新站点?  香港网站服务器数量如何影响SEO优化效果?  Android滚轮选择时间控件使用详解  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在阿里云购买域名并搭建网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  高端智能建站公司优选:品牌定制与SEO优化一站式服务  使用spring连接及操作mongodb3.0实例  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何解决hover在ie6中的兼容性问题  如何选择可靠的免备案建站服务器?  php485函数参数是什么意思_php485各参数详细说明【介绍】