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

宿州城市建设投资网站长沙做网站nn微联讯点很好

宿州城市建设投资网站,长沙做网站nn微联讯点很好,上海网站建设定制公,指数函数运算法则背景 项目开发过程中#xff0c;有些场景#xff0c;需要跨页面进行数据传递。按照安卓开发的思路#xff0c;在flutter实现一个事件总线EventBus#xff0c;进行数据传递 原理 通过dart的签名函数#xff0c;进行监听集合设置#xff0c;然后post分发的时候#xff…背景 项目开发过程中有些场景需要跨页面进行数据传递。按照安卓开发的思路在flutter实现一个事件总线EventBus进行数据传递 原理 通过dart的签名函数进行监听集合设置然后post分发的时候进行集合遍历回调实现事件传递。 实现过程 总体思路就是通过一个订阅取消订阅遍历订阅对象进行数据传递。 下面直接上代码 //发布者接口 import package:ftplayer/common/utils/LogUtils.dart;abstract class IPublisher {void postT(T event); }//订阅者:函数对象 typedef ISubscriberT void Function(T event);//集中式通信 //1.IEventBus继承IPublisher,分发数据 //2.IEventBus注册和取消注册ISubscriber abstract class IEventBus extends IPublisher {void registerT(ISubscriberT subscriber);void unregisterT(ISubscriberT subscriber); }Type typeOfT() T;class XEventBus implements IEventBus {//我们用map存放我们的订阅者。不同订阅者订阅的Event类型可能是不同的MapType, ListFunction map {};overridevoid registerT(ISubscriberT subscriber) {Type type typeOfT();if (!map.containsKey(type)) {map[type] [];}map[type]?.add(subscriber);}overridevoid unregisterT(ISubscriberT subscriber) {Type type typeOfT();if (map.containsKey(type)) {map[type]?.remove(subscriber);}}//发布overridevoid postT(T event) {Type type typeOfT();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 ISubscriberLoginStatusEvent loginSub;loginSub (event) {loginStatus(event);};_eventBus.register(loginSub);_eventBus.unregister(loginSub);getEventBus().post(LoginStatusEvent(fromPageType: 0)); 上述代码中getEventBus()就是获取的EventBus对象这里可以是单例或者是new多个对象。主要看项目的情况决定。 that’s all----------------------------------------------------------------
http://www.yutouwan.com/news/40967/

相关文章:

  • 苏州网站建设要点企业网站开发 流程
  • 阿里巴巴网站图片如何做白国外空间
  • 做网站个网站要多少钱网站建设流程报告
  • 郑州网站搭建的公司苏州手机网站建设服务
  • 苏州高端网站网站关键词排名批量查询
  • 计算机毕设代做网站wordpress悬赏功能实现
  • 如何查找网站备案h5制作成品
  • wordpress网站维护教程网站如何做搜索引擎
  • 网站建站时间上海招标网站
  • 代做动画毕业设计的网站建筑工程公司名字起名大全
  • 淘宝客自己做网站吗西安百度关键词包年
  • 宜宾网站开发招聘做网站简单还是做app简单
  • wordpress md晋城网站seo
  • 手机网站建设开什么类型的票常德小程序开发公司
  • 南京江宁网站制作公司上海网站建设哪
  • 建立网站服务器免费制作自己的网页
  • 设计师找素材的网站彩视音乐相册制作下载安装
  • 开锁公司做网站企业展示厅设计效果图
  • 做网站需要服务器查询吗网站设计开发软件有哪些
  • 毕设做的网站可以用模板改吗怎么建立网站
  • 有些人做网站不用钱的 对吗如何推广网址链接
  • 网站建设中最重要的树莓派3 部署wordpress
  • 网站百度推广怎么做的成都展示型网页设计公司
  • 重庆网站备案公司更换网站需要怎么做
  • 给关亨做网站的设计公司代做设计网站
  • 自己设置网站怎么做网站页面设计合同
  • 网站后台设置应注意什么企业网站建设存在的不足
  • 网站建设教程 冰美人视频分分作网站
  • 自己做的网站网页打开速度慢莱州人才招聘网
  • 网站建设百度社交型网站首页面设计分析