eventbus for flutter & dart

115 阅读1分钟

在Dart中如何实现事件监听,类似Android里面的EventBus,iOS里面的SwiftEventBus, 这里可以借鉴Dart里面的steam来实现,几行代码就能搞定。在Stream基础上封装出下面的库。

RomeBus

Logo

Architecture

architecture

Pub

dependencies:
  rome_bus: ^0.0.2

Usage with 3 step

1. Create an Event Object


//event object
class CommonEvent {
  final int count;

  CommonEvent(this.count);
}

2. Register an Event


String eventRegisterText ='';

 @override
  void initState() {
    super.initState();
    //just control event object
    RomeBus.getBus().register<CommonEvent>((event) {
      setState(() {
        eventRegisterText = 'register event ${event.count}';
      });
    });
  }

3. Send an Event


RomeBus.getBus().send(CommonEvent(100));

Using Vip Event

Sometimes you only need to listen to the event once, you can use VipEvent.

see example vip_page .

Screen

architecture