我正在使用
@typedef
来定义一些自定义类型,以及 @property
项。
对类执行相同操作时,我可以使用
{@link MyClass#property}
来引用该属性。
但由于某些原因
{@link MyType#property}
无法解决。
这是一个错误还是有不同的方法来引用此类属性?
我的使用示例:
/**
* @typedef helpers.Column
*
* @property {String} name
*/
/**
* This one resolves correctly: {@link helpers.Column}
*
* This one does not resolve: {@link helpers.Column#name}
*/
当 JSDoc 解析
@typedef
时,它总是会生成“clean”(原始格式)输出样式的文档。 无论您是否使用 @namespace
,都会发生这种情况。 这是我正在开发的一个项目的示例(请忽略那些糟糕的文档,哈哈)。
因此,
@property
和@typedef
下的相关标签显示在表格中,而不是使用部分,这使得链接不可能。
您过去能够执行您的
@typedef
并排除 @property
。 然后再做一个名为@typedef
的parentName.propertyName
来强行绕过它。 无论如何,情况似乎不再如此,由于与非全局命名空间不兼容,它使代码更难维护。 作为参考,@link
将出现并且可单击,但它只会将您带到全局变量,并且该属性不再显示在文档类型下。
顺便说一句,最好将
name
视为保留关键字。 它可能会在很多地方破坏很多东西,并使调试依赖项成为一场噩梦。