我已经尝试使用命名空间和@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
};
}
答案 0 :(得分:2)
如果您使用@memberof
,那么@memberof!
代码就会有用。感叹号迫使jsdoc遵循你给它的东西。如果您不使用感叹号,jsdoc将决定它比您更了解并忽略该标记。但使用@memberof!
仍然使它看起来很时髦。您可以执行的操作是删除@memberof
代码并使用@lends
,如下所示:
/**
* Test file
* @namespace test
*/
/**
* my view model
* @class MyViewModel
* @memberOf test
*/
function MyViewModel() {
/** @lends test.MyViewModel# */
var self = this;
/**
* test observable
* @type {Object}
*/
self.testObservable = ko.observable();
/**
* test function
*/
self.testObservable = function() {
// do something
};
}
答案 1 :(得分:1)
self
时,jsdoc似乎感到困惑。 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
};
}