开发手册 欢迎您!
软件开发者资料库

Aurelia - 事件聚合器

Aurelia事件聚合器 - 从简单和简单的步骤学习Aurelia,从基本到高级概念,包括概述,环境设置,第一个应用程序,配置,依赖注入,组件,组件生命周期,自定义元素,插件,数据绑定,绑定行为,转换器,事件,事件聚合器,表单,HTTP,Refs,路由,历史,动画,对话框,本地化,工具,安全性,捆绑,调试,社区,最佳实践。

当您的事件需要附加到更多侦听器或需要观察应用程序的某些功能并等待数据更新时,应使用事件聚合器.

Aurelia事件聚合器有三种方法. 发布方法将触发事件,并可供多个订阅者使用.对于订阅活动,我们可以使用订阅方法.最后,我们可以使用 dispose 方法来分离订阅者.以下示例演示了这一点.

我们的视图将为三个功能中的每一个提供三个按钮.

app.html

我们需要导入 eventAggregator 并在我们能够使用之前将其注入.

app.js

import {inject} from 'aurelia-framework';import {EventAggregator} from 'aurelia-event-aggregator';@inject(EventAggregator)export class App {   constructor(eventAggregator) {      this.eventAggregator = eventAggregator;   }   publish() {      var payload = 'This is some data...';      this.eventAggregator.publish('myEventName', payload);   }   subscribe() {      this.subscriber = this.eventAggregator.subscribe('myEventName', payload => {         console.log(payload);      });   }   dispose() {      this.subscriber.dispose();      console.log('Disposed!!!');   }}

我们需要点击 SUBSCRIBE 按钮来收听将要发布的数据在未来.连接订户后,无论何时发送新数据,控制台都会记录它.如果我们点击 PUBLISH 按钮五次,我们会看到每次都会记录它.

Aurelia Event Aggregator Example

我们也可以通过单击 DISPOSE 按钮分离我们的订户.