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