【发布时间】:2021-05-12 20:52:17
【问题描述】:
假设我有两个函数,一个扩展另一个函数。
/**
* @abstract
* @param {Object} settings
* @param {Number} settings.x
* @param {Number} settings.y
*
*/
function Base(settings) {
this.x = settings.x;
this.y = settings.y;
}
/**
* @extends Base
*/
function Foo(settings) {
Base.call(this, settings);
}
这两个函数位于两个单独的文件中。有什么方法可以从我的Foo 函数中的Base 函数继承参数文档,还是我必须编写两次文档?
我尝试将settings 变成@typedef,如下所示:
/**
* @typedef {Object} BaseSettings
* @property {Number} x
* @property {Number} y
*
*/
/**
* @extends Base
* @param {BaseSettings} settings
*/
function Foo(settings) {
Base.call(this, settings);
}
但这只是链接到全局类型定义,我希望将参数记录在与函数相同的页面上。但这是否可能,无需两次编写文档?
【问题讨论】:
-
到底哪里没有继承?你目前得到了什么?
-
在Docstrap中创建文档时,Foo函数中的settings参数既没有描述也没有链接到Base中的settings参数。
-
您是否在使用任何模块或类似的东西,还是那些真正的顶级符号?您是否同时获得记录和得到什么?预计不会描述参数,但应该链接类型
-
不是模块——在我的代码中,它们是同一个命名空间的一部分,例如 bar.Base 和 bar.Foo。但是您是说,未描述的参数是预期的吗?那么,这就是我的问题的答案。我想这不是 jsdoc 可以做到的。
-
有没有人发现这个问题?
标签: jsdoc