ToDoList全局事件总线学习笔记

编程入门 行业动态 更新时间:2024-10-11 21:20:16

ToDoList全局事件<a href=https://www.elefans.com/category/jswz/34/1769217.html style=总线学习笔记"/>

ToDoList全局事件总线学习笔记

全局事件总线

全局事件总线:任意组件间通信

安装全局事件总线

new Vue({……beforeCreate(){Vue.prototype.$bus=this},……
})

使用事件总线

接收数据:A组件想接收数据,则在A组件中给$bus绑定自定义事件,事件的回调留在A组件自身。

methods(){demo(data){}mounted(){this.$bus.$on('xxx',this.demo)}}

提供数据:this. b u s . bus. bus.emit(‘xxx’,this.demo)

注意

最好在beforeDestroy钩子中,用$off去解绑当前组件所用到的事件。

ToDoList中的实践

通过全局事件总线实现item给app传值。

  1. 安装全局事件总线
import Vue from 'vue'
import App from './App.vue'// 关闭vue的生产提示
Vue.config.productionTip = false;new Vue({el: '#app',render: h => h(App),beforeCreate() {Vue.prototype.$bus = this}
})
  1. App.vue与MyList.vue中的操作
    App.vue取消给List传的方法,MyList取消props接收的方法


  1. Item给App传递数据
    app收数据,app绑定事件总线的自定义事件
  mounted() {this.$bus.$on('checkTodo', this.checkTodo)this.$bus.$on('deleteTodo', this.deleteTodo)},beforeDestroy() {this.$bus.$off('checkTodo')this.$bus.$off('deleteTodo')}
  1. 触发
methods: {handleCheck(id) {this.$bus.$emit('checkTodo',id)},handleDelete(id) {if (confirm('确定删除吗?')) {this.$bus.$emit('deleteTodo', id)}}},this.$bus.$emit('deleteTodo', id)}}},

更多推荐

ToDoList全局事件总线学习笔记

本文发布于:2023-12-06 04:45:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1666478.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:总线   全局   学习笔记   事件   ToDoList

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!