@event

.. @event::
语法

@event <className>#[event:]<eventName>

概述

@event标记允许您记录可以触发的事件. 典型事件由具有已定义属性集的对象表示.

使用@event标记定义特定类型的事件后, 可以使用@fires标记指示方法可以触发该事件. 您还可以使用@listens标记来指示符号侦听事件.

JSDoc自动为每个事件的名称添加命名空间``event: ``. 通常, 在链接到另一个doclet中的事件时, 必须包含此命名空间. (@fires标记是一个值得注意的例外;它允许您省略命名空间. )

注意

JSDoc 3 uses @event doclets to document the content of an event. In contrast, JSDoc Toolkit 2 used @event doclets to identify a function that can be fired when an event of the same name occurs.

示例

以下示例显示如何在名为``snowball``的``Hurl``类中记录事件. 该事件包含具有单个属性的对象.

Documenting a function call as an event
/**
 * Throw a snowball.
 *
 * @fires Hurl#snowball
 */
Hurl.prototype.snowball = function() {
    /**
     * Snowball event.
     *
     * @event Hurl#snowball
     * @type {object}
     * @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
     */
    this.emit('snowball', {
        isPacked: this._snowball.isPacked
    });
};
Using a named doclet to document an event
/**
 * Throw a snowball.
 *
 * @fires Hurl#snowball
 */
Hurl.prototype.snowball = function() {
    // ...
};

/**
 * Snowball event.
 *
 * @event Hurl#snowball
 * @type {object}
 * @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
 */