event bus非父子组件怎样相互通信

这次给大家带来event bus非父子组件怎样相互通信,event bus非父子组件相互通信的注意事项有哪些,下面就是实战案例,一起来看一下。

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

var bus = new Vue()// 触发组件 A 中的事件bus.$emit('id-selected', 1)// 在组件 B 创建的钩子中监听事件bus.$on('id-selected', function (id) { // ...})

登录后复制

在更多复杂的情况下,你应该考虑使用专门的 状态管理模式.就是用到了vuex

eventBus是作为兄弟关系的组件之间的通讯中介。

代码示例:

eventBus

todo app

var eventHub = new Vue( {data(){return{todos:['A','B','C']}},created:function () {this.$on('add', this.addTodo)this.$on('delete', this.deleteTodo)},beforeDestroy:function () {this.$off('add', this.addTodo)this.$off('delete', this.deleteTodo)},methods: {addTodo: function (newTodo) {this.todos.push(newTodo)},deleteTodo: function (i) {this.todos.splice(i,1)}}})var newTodo = {template:`

`,data(){return{newtodo:''}},methods:{add:function(){eventHub.$emit('add', this.newtodo)this.newtodo = ''}}}var todoList = {template:`
  • {{item}}
`, data(){ return{ items:eventHub.todos } }, methods:{ rm:function(i){ eventHub.$emit('delete',i) } }}var app= new Vue({el:'#todo-app',components:{newTodo:newTodo,todoList:todoList}})

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

JS怎样检测浏览器内的脚本

Popup弹出框绑定添加数据事件(步奏详解)

以上就是event bus非父子组件怎样相互通信的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2771797.html

(0)
上一篇 2025年3月8日 13:04:37
下一篇 2025年3月8日 13:04:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 图片滑动验证码怎样实现

    这次给大家带来图片滑动验证码怎样实现,图片滑动验证码实现的注意事项有哪些,下面就是实战案例,一起来看一下。 图片滑动验证码,逻辑是根据鼠标滑动轨迹,坐标位置,计算拖动速度等等来判断是否人为操作,当然下面的代码只是实现前端部分,只记录了拖动的…

    编程技术 2025年3月8日
    200
  • Vue2.0父子组件相互传递函数(附代码)

    这次给大家带来Vue2.0父子组件相互传递函数(附代码),Vue2.0父子组件相互传递函数的注意事项有哪些,下面就是实战案例,一起来看一下。 Vue.js 是什么 Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的…

    编程技术 2025年3月8日
    200
  • 在JS中怎么实现数字与字符串相互转换

    这次给大家带来在JS中怎么实现数字与字符串相互转换,在JS中实现数字与字符串相互转换的注意事项有哪些,下面就是实战案例,一起来看一下。 var print = new Function(“x”, “document.write(x)”); …

    编程技术 2025年3月8日
    200
  • vue怎样使用缓存

    这次给大家带来vue怎样使用缓存,vue使用缓存的注意事项有哪些,下面就是实战案例,一起来看一下。 keep-alive 简介 keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。 用法也很简单: …

    编程技术 2025年3月8日
    200
  • ajax加载超时提示怎样实现

    这次给大家带来ajax加载超时提示怎样实现,ajax加载超时提示实现的注意事项有哪些,下面就是实战案例,一起来看一下。 index.php 加载超时 function load(){ $(“#tips”).html(“加载中…”); $…

    编程技术 2025年3月8日
    200
  • Vue怎样剔除路径#号

    这次给大家带来Vue怎样剔除路径#号,Vue剔除路径#号的注意事项有哪些,下面就是实战案例,一起来看一下。 众所周知,vue-router有两种模式,hash模式和history模式。 带#的则是hash模式。 将router中的mode设…

    2025年3月8日
    200
  • JS做出左右边列表相互移动效果

    这次给大家带来JS做出左右边列表相互移动效果,JS做出左右边列表相互移动的注意事项有哪些,下面就是实战案例,一起来看一下。 实现功能: 1.左边的下拉框内容添加到右边的下拉框,支持多选移动,且同时将右边的下拉框对象移除; 2.支持列表中项目…

    2025年3月8日
    200
  • vue-cli怎样做出跨域请求

    这次给大家带来vue-cli怎样做出跨域请求,vue-cli做出跨域请求的注意事项有哪些,下面就是实战案例,一起来看一下。 前端开发时,请求后台接口经常需要跨域,vue-cli实现跨域请求只需要打开config/index.js,修改如下内…

    编程技术 2025年3月8日
    200
  • angular4多个组件相互数据通信

    这次给大家带来angular4多个组件相互数据通信,angular4多个组件相互数据通信的注意事项有哪些,下面就是实战案例,一起来看一下。 应用场景,不同组件中操作统一组数据,不论哪个组件对数据进行了操作,其他组件中立马看到效果。这样他们就…

    2025年3月8日
    200
  • JS怎样操作红黑树

    这次给大家带来JS怎样操作红黑树,JS操作红黑树的注意事项有哪些,下面就是实战案例,一起来看一下。 红黑树的性质 一棵满足以下性质的二叉搜索树是一棵红黑树 每个结点或是黑色或是红色。 根结点是黑色的。 每个叶结点(NIL)是黑色的。 如果一…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论