简介
主要是实现不同组件之间的数据传值,以及在一个组件中执行另一个组件的方法
使用
- 修改
pubspec.yaml
文件,添加依赖event_bus
# ...
dev_dependencies:
# ...
event_bus: ^1.1.1
# ...
- 在
lib/services/
目录下新建文件EventBus.dart
import 'package:event_bus/event_bus.dart';
// Bus 初始化
EventBus eventBus = EventBus();
class ProductContentEvent {
String str;
ProductContentEvent(String str) {
this.str = str;
}
}
- 在需要广播事件的页面引入上面的
EventBus.dart
类 然后配置如下代码
// 广播 弹出筛选
eventBus.fire(new ProductContentEvent('加入购物车'));
- 在需要监听广播的地方引入上面的
EventBus.dart
类 然后配置如下代码
class _ProductContentFirstState extends State<ProductContentFirst> {
// ...
var actionEventBus;
@override
void initState() {
super.initState();
// ...
// 监听所有广播
// eventBus.on().listen((event) {
// print(event);
// this._attrBottomSheet();
// });
// 监听 ProductContentEvent 广播
this.actionEventBus = eventBus.on<ProductContentEvent>().listen((str) {
print(str);
this._attrBottomSheet();
});
}
// 销毁
void dispose() {
super.dispose();
// 取消事件监听
this.actionEventBus.cancel();
}
}
发表评论