jsDoc typedef 属性参考

问题描述 投票:0回答:1

我正在使用

@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
1个回答
1
投票

当 JSDoc 解析

@typedef
时,它总是会生成“clean”(原始格式)输出样式的文档。 无论您是否使用
@namespace
,都会发生这种情况。 这是我正在开发的一个项目的示例(请忽略那些糟糕的文档,哈哈)。

Comparison of Docs

因此,

@property
@typedef
下的相关标签显示在表格中,而不是使用部分,这使得链接不可能。

您过去能够执行您的

@typedef
并排除
@property
。 然后再做一个名为
@typedef
parentName.propertyName
来强行绕过它。 无论如何,情况似乎不再如此,由于与非全局命名空间不兼容,它使代码更难维护。 作为参考,
@link
将出现并且可单击,但它只会将您带到全局变量,并且该属性不再显示在文档类型下。

顺便说一句,最好将

name
视为保留关键字。 它可能会在很多地方破坏很多东西,并使调试依赖项成为一场噩梦。

© www.soinside.com 2019 - 2024. All rights reserved.