涉及到跨界面的事件通知,如登录回调,关注回调,滑动监听等等。主打的就是一个 订阅、发布
引用
event_bus: ^2.0.0
使用
声明一个全局的 eventBus对象
订阅 on
携带 类型 监听的就是这个类型的广播,不携带类型则是监听全部广播
发布 fire
cacnel
订阅的时候需要绑定到当前widget 然后再dispose 方法中 取消监听
late StreamSubscription<ProductContentEvent> actionEeventBus;
@override
void dispose() {
super.dispose();
actionEeventBus.cancel();
}
项目中使用
项目中是封装的eventBus
bus.emit(EventBusKey.subtractPraiseCount, widget.sourceId!);
bus.on(EventBusKey.subtractPraiseCount, _subtractPraiseCount);
void _subtractPraiseCount(articleId){
if(articleId==widget.article?.id){
_detailCommentBarModel.likeCount--;
if (null != widget.article?.praiseCount) {
widget.article?.praiseCount--;
}
}
}