8

クラスを返すファクトリを持つAngularアプリがあるとします。

angular.module('fooApp').factory('User', function(){
    function User(name){
        this.name = name;
    }

    User.prototype.greet = function(){
        return "Howdy, " + this.name;
    }

    return User;
});

(角度使用ngdocの特別なフレーバーjsdoc) を使用して、メソッドとして定義せずにイニシャライザーをドキュメント化するにはどうすればよいですか?

今、これは私が試したことです:

/**
 * @ngdoc service
 * @name fooApp.User
 * @description User factory.
 */

angular.module('fooApp').factory('User', function(){

    /**
     * @ngdoc method
     * @methodOf fooApp.User
     * @name Initializer
     * @description Initializes a new User object with a name
     */
    function User(name){
        this.name = name;
    }

    User.prototype.greet = function(){
        return "Howdy, " + this.name;
    }

    return User;
});

しかし、これにより、Userイニシャライザ (Userパラメータ を受け取る関数name) が という名前のメソッドのように扱われることになり、Initializerこのコードを使用しようとする人々を混乱させます。

@constructorフラグを追加しようとしましたが、これは htmldgeniが生成されるという効果はありません。

ありがとうございました。


更新: への参照を削除しましたdgeni。私が使用していたプラグイン ( grunt-ngdocs ) がdgeni舞台裏で使用されているという印象を受けましたが、そうではありません。

4

3 に答える 3