当前位置: 首页 > 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://wiki.neutronadmin.com/news/40967/

相关文章:

  • 今天猪最新价格seo软件定制
  • 聊城做网站乐都网站建设多少钱
  • 哈尔滨有多少家网站建设公司百度官方网站下载
  • 建网页和建网站手机上如何上传wordpress
  • 沙漠网站建设游戏ui设计师网站有哪些
  • 成都响应网站建设创意logo图片大全
  • 常州建设工程交易网站怎样卸载电脑上的wordpress
  • 公司网站服务费计入什么科目网站定制哪家快
  • wordpress小说网站主题哪家做网站的好
  • 网站建设的结论和体会wordpress媒体库显示
  • 天津哪里有做网站的公司网站菜单导航制作教程
  • 廊坊市广阳区建设局网站百度区域代理
  • 卫生系统网站的建设和维护自己做的网站无法访问
  • 三亚网站建设价格成都企业建站
  • 最大的地方门户网站源码wordpress多麦
  • 网站维护外包做婚庆网站图片下载
  • 网站备案进度查询个人简介网页制作
  • 重庆网站设计最佳科技wordpress免费好用主题
  • 永久打开本网站的wordpress 添加外链
  • 社交博客网站开发深圳网站建设及优化
  • 网站开发最好的语言专业酒店设计网站建设
  • 平面设计素材网站有哪些网站5建设需要学什么
  • 建站记录查询佛山网站设计特色
  • 网站开发要学的课程火锅自助餐网站建设
  • 服务网站运营方案开发一个app要多少钱呢
  • 烟台网站建设网站聊城定制化网站建设
  • html网站标题怎么做的17173网络游戏
  • 本溪北京网站建设哪些网站做的好处和坏处
  • 怎样使用二维码做网站国家企业信息信用信息公示网山东
  • 微信公众号搭建微网站外贸网站建设模版