2013-03-13 10 views
7

Sto cercando di scrivere della documentazione per un metodo JavaScript usando YUIDoc. Sembra che:Come documentare un parametro "oggetto" di un metodo

/** 
    Returns an instance of className 

    @method getInstance 
    @param {string} className the of the class used to create the instance 
    @param {Object} options these are options used to create the instance 
**/ 
function getInstance(className, options) { ..... } 

Ora, le opzioni oggetto può avere diversi parametri, come options.id, options.single, ecc

Come faccio ad aggiungere queste informazioni per la documentazione di questa @param?

+0

Google Closure Compiler segnerebbe che come {{id: string, singolo: qualunque cosa}} o {oggetto .} Se si tratta di un dizionario generale, ma non so se questo è sintassi comune o un'estensione. Vedere la parte inferiore di questa pagina: https://developers.google.com/closure/compiler/docs/js-for-compiler – Dave

risposta

5

Da riferimento: http://yui.github.com/yuidoc/syntax/index.html

"Come mostrato nell'esempio, è anche possibile tag nido @param Questo consente di documentare i parametri degli oggetti che hanno la loro particolare struttura annidata."

@param {Object} [options] Data 
    to be mixed into the event 
    facade of the `change` 
    event(s) for these attributes. 
    @param {Boolean} [options.silent] 
    If `true`, no `change` event 
    will be fired. 
5

In YUIDOC 0.3.45, che è la versione corrente al momento della scrittura, al fine di descrivere gli oggetti ricevuti da metodi si deve prima dichiarare l'oggetto (opzioni, nell'esempio qui sotto) e poi si tratta di proprietà con una notazione a punti (ad esempio, options.url).

/** 
* Describe your method 
* 
* @method yourMethodName 
* @param {object} options - These are the options you may pass 
* @param {string} options.url - the url 
* @param {string} options.otherOption - description of other option 
*/ 
+0

C'è un modo per indicare attributi richiesti come questo? L'aggiunta di '@ required' sotto il parametro non funziona. – JDillon522

Problemi correlati