flutter event_bus事件广播事件监听
event_bus和provider的区别 event_bus:现不同组件之间的数据传值,以及在一个组件中 执行另一个组件的方法。 provider:状态管理来管理统一的状态(数据),实现不同组件直接的传值和数据共享。
event_bus链接地址:https://pub.flutter-io.cn/packages/event_bus
先写一个广播的类
import 'package:event_bus/event_bus.dart';
EventBus eventBus = EventBus();
class ProductContentEvent {
String? str;
ProductContentEvent(String str) {
this.str = str;
}
}
在需要调用其他组件的组件中发送广播
ventBus.fire(ProductContentEvent('立即购买'));
广播的监听
var actionEventBus;
@override
void initState() {
super.initState();
actionEventBus = eventBus.on<ProductContentEvent>().listen((event) {
_attrBottomSheet();
});
}
@override
void dispose() {
super.dispose();
actionEventBus.cancel();
}
广播的销毁
var actionEventBus;
@override
void initState() {
super.initState();
actionEventBus = eventBus.on<ProductContentEvent>().listen((event) {
_attrBottomSheet();
});
}
@override
void dispose() {
super.dispose();
actionEventBus.cancel();
}
|