SPEvent class

表示组件可以订阅的框架事件。

注解

Web 应用程序中的事件示例可能包括:用户单击按钮、导航到另一页的系统,或正在从抽象集合中添加/删除的项。 SharePoint 框架表示使用 SPEvent 对象的实例的事件,每种类型的事件对应一个实例。 SPEvent 对象通常公开为关联类的属性, (例如可在) 单击的按钮。 当组件对事件感兴趣时,它会调用 add () 来注册每次事件发生时都会调用的事件处理程序回调。 处理程序接收 SPEventArgs 参数,该参数可提供有关所发生情况的其他详细信息。 这类似于浏览器的文档对象模型 (DOM) 事件。 main区别在于 ISPEventObserver 功能,该功能跟踪哪个组件订阅了每个事件,并在释放组件时自动取消订阅处理程序。

引发事件时,将同步调用所有处理程序。 未指定调用事件处理程序的顺序。 事件处理程序回调必须捕获处理期间发生的任何异常;未捕获的异常不会阻止其他处理程序执行,但会将其报告为关联组件的问题。

此类的构造函数标记为内部。 第三方代码不应直接调用构造函数或创建扩展类的 SPEvent 子类。

方法

add(observer, eventHandler)

注册每当事件发生时将调用的回调。

remove(observer, eventHandler)

注销使用 add () 注册的回调。

方法详细信息

add(observer, eventHandler)

注册每当事件发生时将调用的回调。

add(observer: ISPEventObserver, eventHandler: (eventArgs: TEventArgs) => void): void;

参数

observer
ISPEventObserver

指示订阅事件的对象:释放对象时,将自动删除事件处理程序。 此对象还用于诊断目的,例如检测事件处理程序是否未能捕获异常。

eventHandler

(eventArgs: TEventArgs) => void

每当事件发生时都会调用的回调函数

返回

void

注解

同一对象可以向同一事件添加多个事件处理程序。 由于 BaseComponent 实现 ISPEventObserver 接口,因此 Web 部件或扩展可以将自身作为观察程序传递。 这将导致事件处理程序在释放 Web 部件或扩展时自动取消订阅。

remove(observer, eventHandler)

注销使用 add () 注册的回调。

remove(observer: ISPEventObserver, eventHandler: (eventArgs: TEventArgs) => void): void;

参数

observer
ISPEventObserver

这必须是传递给 add () 函数的同一个观察程序。

eventHandler

(eventArgs: TEventArgs) => void

要删除的事件处理程序;这必须是传递给 add () 函数的同一个对象实例。

返回

void

注解

如果事件处理程序已被删除,或者从未添加,则此方法不起作用。