Flutter高级第6篇:事件广播 、事件监听
2023-09-14 09:04:26 时间
一丶 event_bus 介绍
在前面的课程我们给大家讲过状态管理 Provider 的使用。
通俗的讲状态管理就是:当我们想在多个页面(组件/Widget)之间共享状态(数据),或
者一个页面(组件/Widget)中的多个子组件之间共享状态(数据),这个时候我们就可以
用 Flutter 中的状态管理来管理统一的状态(数据),实现不同组件直接的传值和数据共享。
那么这一讲给大家讲的 event_bus 主要是实现不同组件之间的数据传值,以及在一个组件中
执行另一个组件的方法。
二丶 event_bus 使用事件广播 、事件监听
https://pub.dev/packages/event_bus
1 、配置安装依赖
event_bus: ^1.1.0
2 、 新建一文件 EventBus.dart 配置如下代码
import 'package:event_bus/event_bus.dart';
//Bus 初始化
EventBus eventBus = EventBus();
class ProductContentEvent {
String text;
ProductContentEvent(String text){
this.text = text;
}
}
3 、 在需要广播事件的页面引入上面的 EventBus.dart类 然后配置如下代码
eventBus.fire(new ProductContentEvent('购物车'));
4 、 在需要监听广播的地方引入上面的 EventBus.dart 类,然后配置如下代码
void initState() {
super.initState();
//监听广播
eventBus.on<ProductContentEvent>().listen((event){
print(event);
this._attrBottomSheet();
});
}
三丶 event_bus 取消事件监听
var actionSubscription =eventBus.on<ProductContentEvent>().listen((event){
print(event);
this._attrBottomSheet();
});
actionSubscription.cancel();
相关文章
- 解密jQuery事件核心 - 绑定设计(一)
- Java GUI 键盘事件
- EventBridge 事件总线及 EDA 架构解析
- 事件之分发总结
- el-step给步骤增加单击事件
- js原生触发事件
- 在winform中捕获上下左右键等控制键的按键事件
- SAP UI5对mobile touch事件的支持
- Javascript 事件propagation机制
- 关于 JavaScript 事件循环 Event Loop 的一些理解
- SAP 电商云 Spartacus UI 如何在应用程序里捕捉到成功下单的事件
- 手把手教你Android全局触摸事件监听
- flutter 点击事件写法
- Qt5鼠标事件
- echarts 地图的点击事件触发了两次
- 128:vue+openlayers 绘制矩形,drawend取消绘制锚点,屏蔽双击放大事件 (示例代码)