Event Aggregator
/*** Created with JetBrains WebStorm.* User: 宇乔* Date: 13-8-2* Time: 下午3:01* To change this template use File | Settings | File Templates.*/function Event(name) {var handlers = [];this.getName = function () {return name;}this.addHandler = function (handler) {handlers.push(handler);}this.removeHandler = function (handler) {handlers.forEach(function (item, i) {if (item == handler) {handler.splice(i, 1);}})}this.fire = function (eventArgs) {handlers.forEach(function (h) {h(eventArgs);})}
}function EventAggregator() {var events = [];function getEvent(name) {var fn;events.forEach(function (item) {if (item.getName() == name) {fn = item;return;}});return fn;}this.subscribe = function (eventName, handler) {var event = getEvent(eventName);if (!event) {event = new Event(eventName);events.push(event);}event.addHandler(handler);}this.publish = function (eventName, eventArgs) {var event = getEvent(eventName);if (!event) {event = new Event(eventName);events.push(event);}event.fire(eventArgs);}
}
转载于:https://www.cnblogs.com/Mr-Joe/p/3232729.html
Event Aggregator相关推荐
- 5.Prism Event Aggregator
Event Aggregator Prism Library提供了一种事件机制,支持应用程序中松散耦合组件之间的通信.这种机制基于事件聚合器服务,允许发布者和订阅者通过事件进行通信,但彼此之间仍然没有 ...
- 【Prism 8】事件聚合器(Event Aggregator)
步骤: 继承PubSubEvent<T>创建自定义事件类型 创建事件发送者 创建事件接收者,并订阅指定的事件 1. 事件聚合器 Prism 提供了一种机制,可以实现应用程序中松散耦合组件之 ...
- All About Angular 2.0
2019独角兽企业重金招聘Python工程师标准>>> angular All About Angular 2.0 Posted by Rob Eisenberg on Novem ...
- C# WPF MVVM开发框架Caliburn.Micro常用功能指南②
这是Caliburn.Micro项目中最常用的约定和功能的快速指南. 01 - 事件连接 这会自动将控件上的事件关联到ViewModel上的方法. 常规约定: <Button x:Name=&q ...
- 学习MVVM设计模式后第一次用于生产
WPF的MVVM设计模式 从winform转变到WPF的过程,难点主要还是在MVVM的设计模式.当然,如果依然采用winform的涉及方式,在每个控件背后绑定事件的方式运用在wpf中,依然可行,但是假 ...
- Caliburn.Micro简介
Caliburn.Micro简介 Caliburn.Micro的定位是一个轻量级的MVVM框架,事实上是Caliburn框架精简了90%的代码(当然,据说保留了90%的功能).CM由C#编写,可用于. ...
- C# WPF MVVM开发框架Caliburn.Micro入门介绍①
01 - Caliburn.Micro简介 Caliburn.Micro是一套基于XAML的MVVM模式的开发框架,它小巧而强大.在CaliburnMicro中只需要按照约定把View的名字加上后缀V ...
- 事件聚合器 - Caliburn.Micro 文档系列
文章目录 事件聚合器 (Event Aggregator) 入门 创建与生命周期 发布事件 使用自定义线程发布事件 订阅事件 订阅许多事件 多态的订阅者 查询处理程序 协同感知订阅者 任务感知订阅者 ...
- [Windows] Prism 8.0 入门(上):Prism.Core
1. Prism 简介 Prism 是一个用于构建松耦合.可维护和可测试的 XAML 应用的框架,它支持所有还活着的基于 XAML 的平台,包括 WPF.Xamarin Forms.WinUI 和 U ...
最新文章
- centos 6安装 vim
- 4键电子手表说明书_电子手表怎么调(电子手表的四个键的功能各是什么)
- foxmail使用技巧
- python实现DES算法
- Android之列表对话框
- Flask Flash
- C++ int string 转换
- Python 判断字符属于数字、字母、空格
- rds对mysql优化_RDS MySQL优化方案
- 数学问题(二):质数、质因子
- mysql median_在MySQL中使用MEDIAN和MAX,MIN和AVG功能
- pamac 安装 ros-noetic-desktop-full(AUR) 失败后如何清理残留的问题
- srand(time(0))函数的用法介绍
- 如何包装你的实验结果
- PaddleNLP实战:应用NeZha模型做微博情感6分类
- 常见网络聊天术语(中英文对照)
- go+vue——基于gin框架和gorm的web开发实战
- 【数据结构】图解七大排序
- Linq to Sql 语句全集
- java毕设项目教师教学质量评估系统(附源码)