2015-10-08 8 views
5

Chciałbym dodać dokumentację ngdoc do deklaracji funkcji w ramach usługi kątowej. Jak mogę to zrobić dla mojej funkcji w poniższym przykładzie?W jaki sposób można użyć ngdoc do dokumentowania deklaracji funkcji w usłudze kątowej?

Podejrzewam, że potrzebuję czegoś takiego jak @klasowanie, @functionOf lub @functionIn.

Należy pamiętać, że (w przeciwieństwie do myMethod) myFunction nie jest metodą.

/** 
* @ngdoc service 
* @name myApp.service:myService 
* @description 
* My application. 
*/ 
angular 
    .module('myApp') 
    .factory('myService', function() { 
    'use strict'; 

    var x = 0; 

    /** 
    * @ngdoc function 
    * @name ? 
    * @description 
    * How can this be identified as being within the closure of 
    * myService, and not be described as a constructor? 
    */ 
    function myFunction (z) { 
     x++; 
     x += z; 
    } 

    return { 
     /** 
     * @ngdoc method 
     * @name myMethod 
     * @methodOf myApp.service:myService 
     * @description 
     * A method of myService. 
     */ 
     myMethod : function (x) { 
     myFunction(x); 
     } 
    }; 
    }) 
+0

znalazłem dokumentacji ngdocs tutaj: https://github.com/idanush/ngdocs/wiki/API-Docs-Syntax – paulhhowells

+0

i tutaj: https://github.com/angular /angular.js/wiki/Writing-AngularJS-Documentation – paulhhowells

Odpowiedz

5

Nazwa klucza, której szukasz, to adnotacja @methodOf. Kiedy piszę dokumentację używając Grunt-ngdocs za usługę kończy się wyglądać jak następuje:

/** 
    * @ngdoc overview 
    * @name module 
    * @description A small module containing stuff 
    */ 
angular 
    .module(module, []) 
    .factory('name', factory); 

/** 
    * @ngdoc object 
    * @name module.name 
    * @description Its a pretty bad factory 
    */ 
function factory() { 
    return { 
    doSomething: doSomething 
    }; 

    /** 
    * @ngdoc function 
    * @name module.name#doSomething 
    * @methodOf module.name 
    * @description Does the thing 
    * @param {string=} [foo='bar'] This is a parameter that does nothing, it is 
            optional and defaults to 'bar' 
    * @returns {undefined} It doesn't return 
    */ 
    function doSomething(foo){...} 
} 
+1

Dziękuję za napisanie odpowiedzi. Moje pytanie brzmiało jednak jak udokumentować deklarację funkcji, która nie jest metodą usługi. W podanym przykładzie kodu chciałbym znaleźć sposób na użycie ngdoc z myFunction (która nie jest metodą). W przykładzie kodu pokazano również użycie metody methodOf używanej z myMethod (która jest metodą). W twoim przykładzie Zrób coś jest metodą, więc użycie metody methodOf ma sens. – paulhhowells

0

mam tylko doświadczenie z JSDoc, nie ngdoc, ale czy próbowałeś @memberOf zamiast @methodOf?

Link to JSDoc page for memberOf

+0

Do tej pory nie znalazłem sposobu, aby ngdoc używał '@ memberOf',' @ member' lub '@ private', aby udokumentować' myFunction' jako zamknięcie funkcji generującej 'myService'. W JSDoc jest sporo funkcjonalności, która nie jest dostępna w ngdoc. Dziękuję za chęć pomocy. – paulhhowells

0
/** 
* @ngdoc controller 
* @name MyApp.myController:myController 
* @description 
* This is myController controller. 
**/   
angular.module('MyApp').controller('myController', ['$scope', function($scope) {  

    /** 
    * @ngdoc function 
    * @name myFunction 
    * @methodOf MyApp.controller:myController 
    * @description 
    * This function does something 
    */ 
    function myFunction(){ 
    // do something 
    } 

}]); 
+0

myFunction nie jest metodą – paulhhowells

Powiązane problemy