flutter event_bus

  #事件监听
  event_bus: ^1.1.1

事件代码

import 'package:event_bus/event_bus.dart';
class TestEventBus {
  static final TestEventBus _gInstance = TestEventBus._init();

  EventBus _eventBus = EventBus();

  TestEventBus._init() {
    ///
  }

  factory TestEventBus() {
    return _gInstance;
  }

  EventBus get bus {
    return _eventBus;
  }
}

使用:

创建事件
class ProgressEvents {
  String data;///传输数据就在这里加
  ProgressEvents({this.data});
}
触发的地方:
     ProgressEventBus().bus.fire(ProgressEvents(data: ''));
监听的地方:
    ProgressEventBus().bus.on<ProgressEvents>().listen((event) {
      if (!mounted) return;

    });
///取消订阅 
  StreamSubscription subscription;
subscription=ProgressEventBus().bus.on<ProgressEvents>().listen((event) {
      if (!mounted) return;

    });
  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    if (subscription != null) {
      subscription.cancel();
    }
  }

注:监听应比触发早。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • event_bus应用场景 本人初步接触event_bus 目前的理解是flutter 兄弟组件之间的参数传递,下...
    青峰侠_阅读 6,689评论 4 10
  • 在开发过程中,父子组件传递数据,我们用props和$emit可以解决问题,那么非父子组件之间的数据传递我们要怎么解...
    胡儒清阅读 1,265评论 0 2
  • 许多现代JavaScript框架和库的核心概念是能够将数据和UI封装在模块化、可重用的组件中。这对于开发人员可以在...
    虚竹_d36e阅读 272评论 0 0
  • 问题陈述 我有两个组成部分。我将数据从一个组件传递到另一个组件。接收方应显示接收的数据 创建新的Vue应用程序 要...
    一枚蛋阅读 596评论 0 1
  • Flutter中经常使用event_bus实现跨页面传递数据,其核心是基于Dart Streams(流)。even...
    小小的开发人员阅读 2,824评论 0 3

友情链接更多精彩内容