2015-10-08 2 views
5

角度サービス内の関数宣言にngdocのドキュメントを追加したいと思います。下の例でmyFunctionに対してこれをどのように行うことができますか?ngdocを使って、角度サービスの関数宣言を文書化する方法はありますか?

私は@closure、@functionOf、@functionInのようなものが必要です。

myMethodとは対照的に、myFunctionはメソッドではありません。

/** 
* @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

私はここngdocsのドキュメントを見つけました:https://github.com/idanush/ngdocs/wiki/API-Docs-Syntax – paulhhowells

+0

、ここで:https://github.com/angular /angular.js/wiki/Writing-AngularJS-Documentation – paulhhowells

答えて

5

あなたが探しているキー名は@methodOfアノテーションです。 私はそれが次のように見える終わるサービスの作男-ngdocsを使用してドキュメントを書いている:

/** 
    * @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

答えを書こうとしていただきありがとうございます。しかし、私の質問は、サービスのメソッドではない関数宣言を文書化する方法でした。私が与えたコード例では、myFunction(これはメソッドではありません)でngdocを使用する方法を探したいと思います。このコード例では、メソッドであるmethodOfをmyMethod(メソッド)とともに使用する方法も示しています。あなたの例では、何かがメソッドなので、methodOfを使うのは理にかなっています。 – paulhhowells

0

私だけJSDocのではなく、ngdocと経験を持っていますが、あなたは@memberOfはなく@methodOfてみましたか?

Link to JSDoc page for memberOf

+0

これまでは '@ memberOf'、' @ member'、 '@ private'を使って' myFunction'を 'myService'を生成する関数のクロージャの中に記述するために、ngdocで方法を見つけられませんでした。 JSDocには、ngdocで利用できないような機能がかなりあります。お手伝いしていただきありがとうございます。 – 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はメソッドではありません – paulhhowells

関連する問題