如何使用@memberof或@alias定义对象内的属性,而不是使用@property并定义对象外的每个属性。我有类似的东西:
class Foo {
constructor() {
/**
* @alias Foo#state
* @property {array} countryList counrty list
*/
this.initialState = {
/**
* @type {boolean}
*/
active: true,
/**
* @type {number[]}
* index of items in viewport
*/
visibleItems: null,
countryList: [],
// ...
};
}
}
initialState可能会变得非常长,我更喜欢将jsdoc添加到每个项目,而不是复制所有内容并放在定义之前。
对于此示例,jsdoc仅生成countryList
作为Foo.state的属性。
我尝试了这两个选项但它们没有用。
/**
* @type {number[]}
* @alias Foo#state.visibleItems
*/
visibleItems: null
/**
* @type {number[]}
* @memberof Foo#state
*/
visibleItems: null