当前位置: 代码迷 >> 综合 >> Flutter eventBus
  详细解决方案

Flutter eventBus

热度:52   发布时间:2024-01-11 20:14:01.0

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';// 创建EventBusEventBus 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() 监听信息

    // 注册监听器,订阅 eventbusvar eventBusFn = eventBus.on<EventFn>().listen((event) {//  event为 event.obj 即为 eventBus.dart 文件中定义的 EventFn 类中监听的数据print(event.obj);});

6、 在组件销毁时,一定要销毁监听,防止内存泄漏

    @overridevoid dispose() {super.dispose();//取消订阅eventBusFn.cancel();}



作者:苦咖啡Li
链接:https://www.jianshu.com/p/df1eecbb09b5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。