使用jsdoc3来记录模块和子模块

时间:2013-12-20 00:35:38

标签: javascript module jsdoc jsdoc3

我有一个遵循这种模式的模块。

/**
 *  @name Filters
 *  @namespace
 */
var Filters = (function (Filters, $) {
    Filters.switchView = function (newView) {
        // do something
    };
    return Filters;
})(Filters || {}, jQuery);

然后我有一个子模块用于过滤器模块

Filters.validator = (function (Filters, $) {
    var validator = {};
    validator.toggleErrorState = function (state, el) {
         // do something
    } 
    return validator;
})(Filters || {}, jQuery);

我无法弄清楚如何记录子模块。我已经完成了一些搜索,但没有找到任何跟随这个特定模式的人,这个模式使用jsdoc样式注释进行记录。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这会记录两个命名空间。第一个档案:

/**
 *  @namespace
 */
var Filters = (function (Filters, $) {
    /**
     * switchView does...
     * @param newView The new view.
     */
    Filters.switchView = function (newView) {
        // do something
    };
    return Filters;
})(Filters || {}, jQuery);

第二档:

/**
 * @namespace
 */
Filters.validator = (function (Filters, $) {
    var validator = {};
    /**
     * toggleErrorState does...
     * @param state The state.
     * @param el The el.
     */
    validator.toggleErrorState = function (state, el) {
         // do something
    }
    return validator;
})(Filters || {}, jQuery);

答案 1 :(得分:0)

/**
 *  @namespace Parent
 */
var Filters = (function (Filters, $) {
    /**
     * switchView does...
     * @param newView The new view.
     */
    Filters.switchView = function (newView) {
        // do something
    };
    return Filters;
})(Filters || {}, jQuery);

/**
 * @namespace Child
 * @memberOf Parent
 */
Filters.validator = (function (Filters, $) {
    var validator = {};
    /**
     * toggleErrorState does...
     * @param state The state.
     * @param el The el.
     */
    validator.toggleErrorState = function (state, el) {
         // do something
    }
    return validator;
})(Filters || {}, jQuery);
相关问题