jsdoc hide继承方法(在生成的doc中)

时间:2016-03-08 07:42:15

标签: javascript jsdoc

我正在使用jsdoc为我的javascript项目生成在线文档。

除了我现在遇到的一个问题外,它的工作正常。

假设我有一个包含大量get / set函数的基类。

/**
 * cc.BaseClass
 * @class
 * @extends cc.Class
 */
cc.BaseClass = cc.Class.extend(/** @lends cc.BaseClass# */{
    /** 
     * @param {number} a
     */
    setA:function(a){},
    /** 
     * @return {number}
     */
    getA:function(){},
    // ...... 20+ more
});

然后我有一个扩展基类的子类。

/**
 * cc.ChildClass
 * @class
 * @extends cc.BaseClass
 */
cc.ChildClass = cc.BaseClass.extend(/** @lends cc.ChildClass# */{
    /** 
     * @param {number} xxx
     */
    myFunction:function(xxx){}
});

我的问题是为cc.ChildClass生成的在线DOC包含" myFunction:function"以及从cc.BaseClass继承的20多个get / set函数。

我知道这没有什么不妥,但我想知道是否有办法隐藏cc.ChildClass文档中cc.BaseClass继承的所有20多个get / set函数。

想想我是否有cc.ChildClassA cc.ChildClassB cc.ChildClassC ...然后我不想看到他们的每个文档都包含从cc.BaseClass继承的20多个get / set函数。

任何建议都将不胜感激,谢谢:)

2 个答案:

答案 0 :(得分:2)

你不应该调整你的代码/类来满足这个要求。这应该是模板的责任。这个很好地解决了这个问题:https://github.com/steveush/foodoc - 演示:https://cancerberosgx.github.io/jsdoc-templates-demo/demo/foodoc/Apple.html。另一个支持它的是ibm的amddcl。在下面查找https://cancerberosgx.github.io/jsdoc-templates-demo/demo/amddcl/Apple.html#

其他一些模板根本不显示继承,并且不要让用户全部使用toccle - 这也是我不想要的。我认为foodoc允许用户和编译人员很好地配置它。

BTW我正在尝试在这里收集众所周知的jsdoc模板演示https://cancerberosgx.github.io/jsdoc-templates-demo/demo/ - 每个都有安装说明。

答案 1 :(得分:1)

我唯一想到的就是删除@extend。我手动添加了扩展类的链接到描述。在这种情况下,这对我有用,因为我不需要@extends。