2013-03-13 19 views
7

Próbuję napisać dokumentację dla metody JavaScript przy użyciu YUIDoc. Wygląda to tak:Jak dokumentować parametr "obiekt" metody

/** 
    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) { ..... } 

Teraz opcje obiekt może mieć kilka parametrów, jak options.id, options.single itp

Jak mogę dodać tę informację w dokumentacji tego @param?

+0

Google Closure Compiler oznaczałoby, że jako {{id: String, pojedyncza: cokolwiek}} lub {Object .} Jeśli jest to ogólnie słownika, ale nie wiem, czy to jest wspólna składnia lub rozszerzenie do niego. Zobacz dół tej strony: https://developers.google.com/closure/compiler/docs/js-for-compiler – Dave

Odpowiedz

5

Od odniesienia: http://yui.github.com/yuidoc/syntax/index.html

„Jak widać na tym przykładzie, można również tagi gniazdo @param Umożliwia to udokumentować parametry obiektów, które mają własną szczególną zagnieżdżone struktury.”

@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

W YUIDOC 0.3.45, który jest obecny wersja w czasie pisania, w celu opisania obiektów otrzymanych metodami należy najpierw zadeklarować obiekt (opcje, w poniższym przykładzie), a następnie to właściwości z notacją kropkową (na przykład 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

Czy istnieje sposób na określenie wymaganych atrybutów? Dodanie '@ required' poniżej paramu nie działa. – JDillon522

Powiązane problemy