当前位置: 首页 > news >正文

学校网站建设财务报表电商网站需要多少钱

学校网站建设财务报表,电商网站需要多少钱,公众号的关注怎么加微信,教育发展基金会网站建设背景 项目开发过程中,有些场景,需要跨页面进行数据传递。按照安卓开发的思路,在flutter实现一个事件总线EventBus,进行数据传递 原理 通过dart的签名函数,进行监听集合设置,然后post分发的时候&#xff…

背景

项目开发过程中,有些场景,需要跨页面进行数据传递。按照安卓开发的思路,在flutter实现一个事件总线EventBus,进行数据传递

原理

通过dart的签名函数,进行监听集合设置,然后post分发的时候,进行集合遍历,回调,实现事件传递。

实现过程

总体思路,就是通过一个订阅,取消订阅,遍历订阅对象,进行数据传递。
下面直接上代码:

//发布者接口
import 'package:ftplayer/common/utils/LogUtils.dart';abstract class IPublisher {void post<T>(T event);
}//订阅者:函数对象
typedef ISubscriber<T> = void Function(T event);//集中式通信,
//1.IEventBus继承IPublisher,分发数据
//2.IEventBus注册和取消注册ISubscriber
abstract class IEventBus extends IPublisher {void register<T>(ISubscriber<T> subscriber);void unregister<T>(ISubscriber<T> subscriber);
}Type typeOf<T>() => T;class XEventBus implements IEventBus {//我们用map存放我们的订阅者。不同订阅者订阅的Event类型可能是不同的Map<Type, List<Function>> map = {};@overridevoid register<T>(ISubscriber<T> subscriber) {Type type = typeOf<T>();if (!map.containsKey(type)) {map[type] = [];}map[type]?.add(subscriber);}@overridevoid unregister<T>(ISubscriber<T> subscriber) {Type type = typeOf<T>();if (map.containsKey(type)) {map[type]?.remove(subscriber);}}//发布@overridevoid post<T>(T event) {Type type = typeOf<T>();if (map.containsKey(type)) {var subscribers = map[type];subscribers?.forEach((subscriber) => subscriber.call(event));}}
}//外部调用方法
class EventBusProvider {static final EventBusProvider _instance = EventBusProvider._internal();XEventBus _singleEventBus = XEventBus();factory EventBusProvider() {return _instance;}EventBusProvider._internal();XEventBus singleEventBus() {return _singleEventBus;}XEventBus newEventBus() {return XEventBus();}
}

调用

late ISubscriber<LoginStatusEvent> loginSub;loginSub = (event) {loginStatus(event);};_eventBus.register(loginSub);_eventBus.unregister(loginSub);getEventBus().post(LoginStatusEvent(fromPageType: 0));

上述代码中,getEventBus()就是获取的EventBus对象,这里可以是单例,或者是new多个对象。主要看项目的情况决定。

that’s all----------------------------------------------------------------

http://www.yayakq.cn/news/644154/

相关文章:

  • 简述企业网站维护的重要性软件开发包括哪些阶段
  • 百度指数教程宁波seo怎么做推广渠道
  • 免费网站模版建设app开发的价格
  • 品牌型网站有哪些网络运营工作内容
  • 凡科可以做淘客网站吗作品集怎么做网页
  • 针对网站做的推广方案360上网安全导航
  • 河南网站推广优化平台里的钱提现不了怎么追回
  • 网站关键词的确定海南什么公司的网站
  • 科技有限公司网站网站认证要钱
  • 网站分析怎么做如何制作视频教程
  • 网站建设系统开发品牌设计论文题目
  • 对网站开发的理解500字3.常见的网站建设工具有
  • 城固城乡建设规划网站做海报的参考网站
  • 淘宝api 做网站深圳企业500强名单
  • 网站设计开发收费标准外贸商城网站系统
  • 网站设计怎么自学动漫设计软件有哪些
  • 服务佳的广州网站建设品牌vi设计企业
  • 表白网页制作网站友情链接地址
  • 兴化网站制作c2c平台代表
  • 全国网站直播平台被摧毁php网站制作
  • 成品网站源码在线看wordpress表白系统
  • 门户网站建设运行环境要求建设工程合同管理论文
  • 微信红包建设网站什么是网站设计
  • 建材招商网站做网站 怎么赚钱吗
  • 做网站要注意哪些方面一个完整的品牌策划方案范文
  • 会议网站网销每天需要怎么做
  • 银川建设公司网站临沧网站建设临沧
  • 房屋网站网站空间在哪申请
  • 成都企业建站系统招商计划书模板ppt
  • 电影网站开发PPT模板网络营销和电子商务的不同