#配置文件中 先 引入
event_bus: ^2.0.0
1.封装一个类 便于直接调用
Dart
import 'package:event_bus/event_bus.dart';
class EvenBlueUtil{
static EventBus eventBus = EventBus();
static EventBus eventBusUpdate = EventBus();
}
class UserLoggedInEvent {
var user;
UserLoggedInEvent(this.user);
}
class NewOrderEvent {
var order;
NewOrderEvent(this.order);
}
2.使用方法
Dart
//可以传值也可以不传值 括号类型可以放入自己想要的信息
EvenBlueUtil.eventBus.fire(null);
3.在需要接受页面的消息进行注册
StreamSubscription? subscription;
从even可以接收传递的信息
Dart
@override
void initState() {
super.initState();
_controller = EasyRefreshController(
subscription = EvenBlueUtil.eventBus.on().listen((event) {
print("消费!!!!!!");
});
}
@override
void dispose() {
super.dispose();
subscription!.cancel();
}
//注意 离开页面会被销毁,会接收不到 但是跳转页面不会,比如跳转页面进行修改,然后返回页面是可以的,但是 点击底部菜单栏从 首页,我的来回切换是不可以的