当前位置: 首页 > news >正文

组件之间数据交互

有时候非父子关系的组件也需要通信。在简单的场景下,使用一个空的 Vue 实例作为中央事件总线:

var bus = new Vue()
// 触发组件 A 中的事件
bus.$emit('id-selected', 1)

// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
  // ...
})

 

实例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="vue/vue.min.js"></script>
</head>

<body>
    <div id="app8">
        <ul>
            <li><componenta/></li>
            <li><componentb/></li>
        </ul>
    </div>
    <script type="text/javascript">
        var bus = new Vue();
        Vue.component('componenta', {
           
            template: '<div><input type="button" value="发布事件" @click="fabuevent" /></div>',
            data:function () {
              return {
                counter: 0
              }
            },
            methods:{
              fabuevent:function(){
                   this.counter++;
                   bus.$emit('id-selected', this.counter);
                }
            }
          });
        Vue.component('componentb', {
                template: '<div >{{counter}}</div>',
                data:function () {
                  return {
                    counter: 0
                  }
                },
                created:function(){
                    var self=this;
                  bus.$on('id-selected', function (id) {
                      self.counter=id;
                      console.info("id:"+id);
                  })
                }
              })
        var app8 = new Vue({
          el:"#app8"
        })
    </script>
</body>
</html>

这里使用 created或者 beforeCreate 事件。

转载于:https://www.cnblogs.com/yg_zhang/p/6161053.html

相关文章:

  • io性能、free、ps命令、查看网络状态、抓包
  • C#学习常用类(1003)---NameObjectCollectionBase类
  • 思科动态路由RIP实验
  • 使用 python 收集获取 Linux 系统主机信息
  • 转录组入门(8): 富集分析
  • 单区域OSPF-----点到点链路上的ospf
  • 线性布局通过适配器可以动态加载view
  • 第1讲 Spring Boot 快速开始 《Kotlin + Spring Boot :下一代 Java 服务端开发》
  • 使用python selenium webdriver模拟浏览器
  • lvm的创建,扩容,回缩
  • 阿里云云市场成API经济领跑者
  • 数据库笔记15:Date类
  • Linux 磁盘分区、格式化、目录挂载
  • truncate后恢复包---FY_Recover_Data.pck 包的内容
  • MVC分页
  • Bootstrap JS插件Alert源码分析
  • If…else
  • isset在php5.6-和php7.0+的一些差异
  • Python学习之路13-记分
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • Vue--数据传输
  • 聊聊directory traversal attack
  • 学习JavaScript数据结构与算法 — 树
  • 《码出高效》学习笔记与书中错误记录
  • UI设计初学者应该如何入门?
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #if和#ifdef区别
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (C语言)球球大作战
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (四)c52学习之旅-流水LED灯
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 验证控件和javaScript的冲突问题
  • .NET6实现破解Modbus poll点表配置文件
  • /var/log/cvslog 太大
  • ?php echo ?,?php echo Hello world!;?
  • @Autowired标签与 @Resource标签 的区别
  • @Autowired自动装配
  • @ConditionalOnProperty注解使用说明
  • @Transactional 竟也能解决分布式事务?
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [bzoj 3534][Sdoi2014] 重建
  • [CentOs7]图形界面
  • [codeforces]Checkpoints
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误
  • [Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明
  • [html] 动态炫彩渐变背景
  • [jQuery]div滚动条回到最底部
  • [NAND Flash 6.4] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现
  • [nlp] grad norm先降后升再降