在类

时间:2016-01-23 15:02:11

标签: javascript jsdoc

如何在类中记录属性命名空间?

/**
 * @constructor User
 * @param forename
 * @param surname
 */
function User(forename, surname) {

    /**
     * How to document such a property-namespace?
     */
    this.name = {
        /**
         * How to document such a property?
         */
        first: forename,

        /**
         * How to document such a property?
         */
        second: surname
    };

}

更新

使用@namespace@property确实有效,但它显示在Namespaces下而不是MembersProperties下,并且仅作为链接带我到一个单独的页面,这很尴尬,因为我只记录了一个单独的类。更糟糕的是,这样的命名空间也出现在全局命名空间列表中。似乎是一个糟糕的解决方案。还有更好的吗?

1 个答案:

答案 0 :(得分:1)

这有效:

/**
 * @constructor User
 * @param forename
 * @param surname
 */
function User(forename, surname) {

    /**
     * @member {Object} User.name
     *
     * @property {String} forename
     *
     * @property {String} surname
     */
    this.name = {
        forename: forename,
        surname: surname
    };

}

谢谢@mostruash!