(编辑:jimmy 日期: 2024/11/15 浏览:2)
首先我们要使用的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总线机制操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。