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 eventBus

Flutter通知另一个页面刷新状态(EventBus)

Flutter通知另一个页面刷新状态(EventBus)

Flutter通知另一个页面刷新状态(EventBus)

Flutter通知另一个页面刷新状态(EventBus)

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段