在正常的开发中,我们经常会用到跨页面事件通知,也就是广播机制。比如需要登录的app,页面会关注用户登陆或注销事件,来进行一些状态更新。这时候就需要一个事件总线,它通常实现订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件。
二、引用 event_bus功能:实现广播功能。
地址:https://pub.dev/packages/event_bus
三、使用1. 创建event_bus.dart文件一般有两种方式:
全局变量内实例化eventBus
在使用时调用(本次主要讲这种)
import 'package:event_bus/event_bus.dart';
EventBus eventBus = EventBus();
class TestEventBusEvent {
String test;
TestEventBusEvent(this.test);
}
2. 发布者部分
import 'event_bus.dart.dart';
eventBus.fire(TestEventBusEvent("成功调用")
3. 订阅者部分
import 'event_bus.dart.dart'; /// 监听单个方法 eventBus.on().listen((event) { print(event.test); }); /// 监听所有方法 eventBus.on().listen((event) { print(event); }); /// 取消监听 StreamSubscription testSubscription = eventBus.on ().listen((event) { print(event.test); }); testSubscription.cancel();



