使用JSDoc记录Backbone构造函数?

时间:2013-11-24 21:34:04

标签: javascript backbone.js requirejs jsdoc

我的应用程序有一个基本视图方法,它有一个close方法。它工作得很好,直到我必须记录它;基本上我正在进行一个不必要的函数调用,以便正确记录它。由于Backbone已经有了一个初始化函数,所以在这里再次调用它是没有意义的,占用代码行..但如果我从代码中删除此函数,则不会生成视图的文档。我的代码如下所示:

/**
 * @exports BaseView
 */
define(['backbone'], function( Backbone ) {
    'use strict';
    return Backbone.View.extend( /** @lends BaseView.prototype */ {
        /**
         * Base view with close method
         * @exports BaseView
         * @augments Backbone.View
         * @constructor
         */
        initialize: function() {
            Backbone.View.prototype.initialize.call(this);
        },
        /**
         * Removes the view from the DOM and unbinds all events.
         */
        close: function() {
            this.remove();
            this.unbind();
            if (this.onClose) {
                // Optionally, run additional cleanup methods.
                this.onClose();
            }
        }
    });
});

This question让我在正确的轨道上进行记录,但现在我想知道JSDoc是否可以记录initialize方法是从Backbone.View继承而不是编写函数调用。 / p>

如果有人能指出我正确的方向,我将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

以下是否符合您的要求?我刚删除initialize函数,将@name BaseView添加到其前面的doclet并删除了同一doclet中的@exports ...,因为它似乎不正确。

/**
 * @exports BaseView
 */
define(['backbone'], function( Backbone ) {
    'use strict';
    return Backbone.View.extend( /** @lends BaseView.prototype */ {
        /**
         * Base view with close method
         * @augments Backbone.View
         * @constructor
         * @name BaseView
         */

        /**
         * Removes the view from the DOM and unbinds all events.
         */
        close: function() {
            this.remove();
            this.unbind();
            if (this.onClose) {
                // Optionally, run additional cleanup methods.
                this.onClose();
            }
        }
    });
});