一個(gè)簡(jiǎn)單好用的第三方工具——Eventbus:
地址:https://pub.dev/packages/event_bus
1.安裝
pubspec.yaml文件導(dǎo)入:并執(zhí)行pub get
event_bus: ^1.1.1
2.使用
全局創(chuàng)建一個(gè)eventBus對(duì)象
final eventBus = EventBus();
- 發(fā)送消息widget
class TSButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RaisedButton(
child: Text("Eventbus"),
onPressed: (){
eventBus.fire("發(fā)送消息");
},
);
}
}
- 接受消息widget
class TSText extends StatefulWidget {
@override
_TSTextState createState() => _TSTextState();
}
class _TSTextState extends State<TSText> {
String _message = "hello";
@override
void initState() {
// TODO: implement initState
super.initState();
eventBus.on<String>().listen((event) {
setState(() {
_message = event;
});
});
}
@override
Widget build(BuildContext context) {
return Text(_message,style: TextStyle(color: Colors.red,fontSize: 20));
}
}