我有以下 Moo 类:
Nem.Ui.Window = new Class({
Implements: [Options, Events],
options: {
caption: "Ventana",
icon: $empty,
centered: true,
id: $empty,
width: $empty,
height: $empty,
modal: false,
desktop: $empty,
x: $empty,
y: $empty,
layout: $empty
},
initialize: function(options)
{
this.setOptions(options);
/* ... */
},
setHtmlContents: function(content)
{
/* ... */
},
setText: function(text)
{
/* ... */
},
close: function(win)
{
/* ... */
},
/* ... */
});
我想用 JsDoc 记录它。我读到您可以在
@lends [class].prototype
中使用 new Class
并使用 initialize
标签标记 @constructs
。我如何标记方法和事件?即:
setHtmlContents
应该是一个方法,close
应该是一个事件。另外,可以以某种方式记录
options
下的元素吗? 最佳答案
您可以使用 @function
标记方法,使用 @event
标记事件,但是由于默认情况下可以正确检测到函数,因此在您的情况下不需要 @function
标记。options
下的元素可以用 @memberOf
记录,在你的例子中用 @memberOf Nem.Ui.Window#
。然后它们将在生成的 JSDoc 中显示为 options.optionName
。
您的类(class)的完整记录版本将类似于
/** @class This class represents a closabe UI window with changeable content. */
Nem.Ui.Window = new Class(
/** @lends Nem.Ui.Window# */
{
Implements: [Options, Events],
/** The options that can be set. */
options: {
/**
* Some description for caption.
* @memberOf Nem.Ui.Window#
* @type String
*/
caption: "Ventana",
/**
* ...
*/
icon: $empty,
centered: true,
id: $empty,
width: $empty,
height: $empty,
modal: false,
desktop: $empty,
x: $empty,
y: $empty,
layout: $empty
},
/**
* The constructor. Will be called automatically when a new instance of this class is created.
*
* @param {Object} options The options to set.
*/
initialize: function(options)
{
this.setOptions(options);
/* ... */
},
/**
* Sets the HTML content of the window.
*
* @param {String} content The content to set.
*/
setHtmlContents: function(content)
{
/* ... */
},
/**
* Sets the inner text of the window.
*
* @param {String} text The text to set.
*/
setText: function(text)
{
/* ... */
},
/**
* Fired when the window is closed.
*
* @event
* @param {Object} win The closed window.
*/
close: function(win)
{
/* ... */
},
/* ... */
});
我已经跳过了
@constructs
中的 initialize
,因为那时它根本不会出现在文档中,而且我还没有想出如何让它正常工作。有关可用标签及其功能的更多信息,请参阅 jsdoc-toolkit 的 TagReference 中的 wiki。
关于javascript - MooTools 类和 JsDoc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2775586/