use*_*607 5 javascript jsdoc knockout.js
我已经尝试过使用命名空间和@memberOf标记,但是在生成的API文档中,我仍然没有任何类成员或方法。
这是一些示例代码:
/**
 * Test file
 * @namespace test
 */
/**
 * my view model
 * @class MyViewModel
 * @memberOf test
 */
function MyViewModel() {
    var self = this;
    /**
     * test observable
     * @type {Object}
     * @memberOf test.MyViewModel#
     */
    self.testObservable = ko.observable();
    /**
     * test function
     * @memberOf test.MyViewModel#
     */
    self.testObservable = function() {
        // do something
    };
}
当您将变量附加到 .jsdoc 时,jsdoc 似乎会感到困惑self。JSDoc 实际上解析您的代码以查找变量名称似乎无法处理您在类上定义属性的方式。(尽管这是定义它们的一种非常常见的方式)。
我通过 jsdoc 运行了这段代码,它记录得很好:
/**
 * Test file
 * @namespace test
 */
/**
 * my view model
 * @class MyViewModel
 * @memberOf test
 */
function MyViewModel() {
    var self = this;
    /**
     * test observable
     * @type {Object}
     * @memberOf test.MyViewModel#
     */
    var testObservable = ko.observable();
}
你可以像这样工作:
/**
 * Test file
 * @namespace test
 */
/**
 * my view model
 * @class MyViewModel
 * @memberOf test
 */
function MyViewModel() {
    var self = this;
    /**
     * test observable
     * @type {Object}
     * @memberOf test.MyViewModel#
     */
    var testObservable = self.testObservable = ko.observable();
}
不过,这似乎是一种非常烦人的方式:(
使用yuidoc,它根本不解析您的 JavaScript,而是取决于您明确描述每个属性。以下是我如何使用 yuidoc 记录您的代码:
/**
 * Test file
 * @namespace test
 */
/**
 * my view model
 * @class MyViewModel
 * @memberOf test
 */
function MyViewModel() {
    var self = this;
    /**
     * test observable
     * @property testObservable
     * @type {Object}
     */
    self.testObservable = ko.observable();
    /**
     * test function
     * @property testObservable
     */
    self.testObservable = function() {
        // do something
    };
}
| 归档时间: | 
 | 
| 查看次数: | 758 次 | 
| 最近记录: |