3

我正在尝试使用 jsdoc 记录猫鼬模型方法。模型的方法属于模型,因此我希望将其视为成员方法。

该文件还包含一个顶级@module models行。

/**
 * @constructor
 */
var MySchema = new Schema({
  title: {
    type: String,
    required: true
  }
});

/**
 * My method
 *
 * @function myMethod
 * @memberof MySchema
 * @this MySchema
 * @param {ObjectId} object
 * @params {Array} roles, defaults to all
 * @returns Participant or null
 */
 MySchema.method('myMethod', function(object, roles) {
   // ...
 });

目前,我收到一个模块页面,其中包含指向我的类定义的链接,以及一个记录类定义的页面,但该方法没有出现在这些页面中的任何一个上。当我删除@memberof时,该方法会出现在模块页面上。我想把它放在课程页面上。

我缺少 jsdoc 文档的哪一部分?

4

1 回答 1

5

您必须明确说明该模块:

@memberof module:models~MySchema

事实是,当您指定时,jsdoc 不会推断MySchema您指的是当前模块中MySchema的实体。

@this实际上,与 相同。如果您将其修改为具有模块名称,则在文档中 about 部分this将具有指向MySchema.

于 2015-02-15T12:22:02.710 回答