在Uni中使用Vue的EventBus总线机制操作
首先我们要使用的EventBus事件总线,能够做到兄弟组件,或者不是父子关系的页面达到数据相互传递的效果
一种做法是在main.js中创建事件总线
创建完$EventBus后,就可以直接在页面中使用事件总线的方法来发送和接收事件了
第二种做法:封装事件总线
使用的时候直接引入就可以了
补充知识:vue里使用EventBus解决兄弟组件间的传递信息
①初始化
import Vue from 'vue'
export const EventBus = new Vue();
②在需要的调用其他组件的页面:
EventBus.$emit ( '自定义函数', 传参 );
③被调用的页面:
EventBus.$on ( '自定义函数', (接收参数) => { 执行你需要执行方法 }
④总结
EventBus的使用场景像是一种广播,当我们向EventBus发送一个事件,则该事件将会传递给多个该事件的订阅者。
1.解耦合(轻松的实现系统间解耦)
2.高性能可扩展(每一个事件都是简单独立且不可更改的对象,只需要保存新增的事件,不涉及其他的变更删除操作)
3.系统审计(每一个事件都是不可变更的,每一个事件都是可追溯的)
以上这篇在Uni中使用Vue的EventBus总线机制操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
关于Vue "__ob__:Observer"属性的解决方案详析
在操作数据的时候发现,__ob__: Observer这个属性出现之后,如果单独拿数据的值,就会返回undefined,下面这篇文章主要给大家介绍了关于Vue "__ob__:Observer"属性的解决方案,需要的朋友可以参考下2022-11-11一步步从Vue3.x源码上理解ref和reactive的区别
vue3的数据双向绑定,大家都明白是proxy数据代理,但是在定义响应式数据的时候,有ref和reactive两种方式,如果判断该使用什么方式,是大家一直不很清楚地问题,下面这篇文章主要给大家介绍了关于从Vue3.x源码上理解ref和reactive的区别的相关资料,需要的朋友可以参考下2023-02-02vue如何解决sass-loader的版本过高导致的编译错误
这篇文章主要介绍了vue如何解决sass-loader的版本过高导致的编译错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
最新评论