使用JSDoc记录Mongoose模型方法

3

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

该文件包含顶级@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文档的哪个部分?

1个回答

5

您需要明确指定模块:

@memberof module:models~MySchema

事实上,jsdoc 不会推断出您指定 MySchema 时意味着当前模块中的 MySchema 实体。

同样适用于 @this。 如果您修改它以包含模块名称,则文档中关于 this 的部分将会链接到 MySchema 定义的部分。

1
我还必须将@instance作为标签添加,否则它会认为我的方法是静态的。 - Jeremy Pridemore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接