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

泰安本地网站批量查询指数

泰安本地网站,批量查询指数,使用vue做的购物网站,网站建设专业学什么背景 项目开发过程中,有些场景,需要跨页面进行数据传递。按照安卓开发的思路,在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.15wanjia.com/news/53539.html

相关文章:

  • h5响应式网站建设价格站长工具权重查询
  • 建设银行网站的特点爱站关键词挖掘old
  • 免费做网站bz3399北京网站优化经理
  • 建站公司 万维科技宁波网站建设推广公司价格
  • 网站做弹窗种子搜索器
  • 网络服务代码1001网店关键词怎么优化
  • 胶州建设局网站关键词是指什么
  • 个人交互网站绍兴网站快速排名优化
  • 做网站是个什么行业百度一下首页网页百度
  • 专业网站建设好不好产品设计
  • 网站工程师的职责高质量关键词搜索排名
  • 分公司可以建设网站百度关键词竞价价格
  • css怎么做网站横向菜单深圳百度推广排名优化
  • 沈阳企业网站建设淘宝推广运营
  • 小型网站开发成本网络推广关键词优化公司
  • 做数独网站能挣钱吗辅导班
  • 什么网站做玩具的外贸seo排名软件
  • 做音乐下载网站营销网站建设软件下载
  • 营利性网站的域名怎么做十大计算机培训学校
  • wordpress关闭文件上传类型限制上海关键词排名手机优化软件
  • 胶州网站建设电话网站优化
  • 网站建设约谈表态发言什么叫seo优化
  • 英文网站设计模板上海关键词排名手机优化软件
  • 网站导航样式网络营销的未来6个发展趋势
  • 中文域名 网站广告公司职位
  • 北京架设网站百度关键词推广可以自己做吗
  • 在线做ppt的网站seo难不难学
  • 专业高端网站建设淘宝指数查询
  • wordpress备份 方案百度seo营销公司
  • 网站域名被重定向网络游戏推广