6.6 ABP表现层 - 事件总线

6.6.6.1 简介

Pub/Sub 事件模型被广泛的应用在客户端。ABP包含了一个 简单的全局事件总线 用来注册事件并且触发事件。

6.6.6.2 注册事件

你可以使用 abp.event.on注册 一个 全局事件 。示例如下:

  1. abp.event.on('itemAddedToBasket', function (item) {
  2. console.log(item.name + ' is added to basket!');
  3. });

第一个参数是 该事件的唯一名称。另一个参数是 回调函数,当指定的事件被触发后将调用该参数。

你可以使用 abp.event.off 方法来 卸载 已注册的事件。 注意:为了能够卸载指定的事件,应该提供相同的事件函数。 正如上面的示例所展示的,你应该将回调函数设置为一个变量,然后在 on和off 中使用它。

6.6.6.3 触发事件

abp.event.trigger 被用来触发全局事件。触发一个已注册的事件的代码如下:

  1. abp.event.trigger('itemAddedToBasket', {
  2. id: 42,
  3. name: 'Acme Light MousePad'
  4. });

第一个参数是 该事件的唯一名称。第二个是(可选的)事件参数。你可以添加任何数量的参数,并且在回调方法中获得它们。