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();
    }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值