Flutter eventBus
Posted 飞翔的熊blabla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter eventBus相关的知识,希望对你有一定的参考价值。
eventBus 基本使用步骤
1、 在 pubspec.yaml
包文件中添加包文件名,并通过 flutter package get
下载包依赖
event_bus: ^1.1.1
2、 在需要使用 eventBus
的组件中引入包依赖文件
import 'package:event_bus/event_bus.dart';
3、 通常封装一个eventBus
事件总线的文件 event_bus.dart
// 引入 eventBus 包文件
import 'package:event_bus/event_bus.dart';
// 创建EventBus
EventBus eventBus = new EventBus();
// event 监听
class EventFn{
// 想要接收的数据时什么类型的,就定义相同类型的变量
dynamic obj;
EventFn(this.obj);
}
4、 在需要发送事件的文件中利用 eventBus.fir
发送事件
//引入封装的e vent_bus.dart 文件
import 'package:new_flutter/utils/event_bus.dart';
// 调用 eventBus.fir 发送事件信息
eventBus.fire(EventFn({
'a':'b',
'c':'e'
}));
5、 在需要监听的文件中,利用 eventBus.on< >().listen()
监听信息
// 注册监听器,订阅 eventbus
var eventBusFn = eventBus.on<EventFn>().listen((event) {
// event为 event.obj 即为 eventBus.dart 文件中定义的 EventFn 类中监听的数据
print(event.obj);
});
6、 在组件销毁时,一定要销毁监听,防止内存泄漏
@override
void dispose() {
super.dispose();
//取消订阅
eventBusFn.cancel();
}
作者:苦咖啡Li
链接:https://www.jianshu.com/p/df1eecbb09b5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
以上是关于Flutter eventBus的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段