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


相关推荐: Python高阶函数应用_函数作为参数说明【指导】  浅析上传头像示例及其注意事项  Laravel Fortify是什么,和Jetstream有什么关系  如何确认建站备案号应放置的具体位置?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  网站建设保证美观性,需要考虑的几点问题!  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  制作旅游网站html,怎样注册旅游网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  nodejs redis 发布订阅机制封装实现方法及实例代码  进行网站优化必须要坚持的四大原则  如何在阿里云虚拟主机上快速搭建个人网站?  Python制作简易注册登录系统  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何使用Vite进行前端资源打包?(配置示例)  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel怎么调用外部API_Laravel Http Client客户端使用  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  WEB开发之注册页面验证码倒计时代码的实现  如何在香港服务器上快速搭建免备案网站?  如何在宝塔面板中修改默认建站目录?  如何在Tomcat中配置并部署网站项目?  如何在阿里云香港服务器快速搭建网站?  南京网站制作费用,南京远驱官方网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel如何生成URL和重定向?(路由助手函数)  北京网站制作的公司有哪些,北京白云观官方网站?  如何批量查询域名的建站时间记录?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何快速完成中国万网建站详细流程?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  android nfc常用标签读取总结