父子组件 event_bus

event_bus 使用 事件广播 事件监听
    https://pub.dev/packages/event_bus
 
创建 eventBus.dart
 
  import 'package:event_bus/event_bus.dart';

EventBus eventBus = EventBus();

class LoggedInEvent {
var user;
LoggedInEvent(this.user);
}


执行的地方

RaisedButton(
child: Text('向子组件发送'),
onPressed: () {
eventBus.fire(LoggedInEvent('你好啊LoggedInEvent'));
},
),
ChildPage(),



监听的地方, 子组件里

var cancleLoggedInEvent;
@override
initState() {
super.initState();
cancleLoggedInEvent = eventBus.on<LoggedInEvent>().listen((event) {
// Print the runtime type. Such a set up could be used for logging.
print(event.user);
    change();
  });
}
dispose(){
super.dispose();
cancleLoggedInEvent.cancle(); // 取消监听
}

eventBus.on<LoggedInEvent>().listen((event) {}); // 监听单个;
eventBus.on().listen((event) {}); // 监听全部事件
 
原文地址:https://www.cnblogs.com/zhaofeis/p/12395567.html