0

angular で $http のカスタム ラッパーを作成しようとしています。コードの概要は次のとおりです。

angular.module('jotted_resource', ['ng'])
.factory('jotted_resource', ['$http', 'communicationStatus',
    function($http, cs) {
        function jResourceFactory(url){
            function jResource(value){
                var self = this;
                this.query = function(callback){
                    var value = [];
                    return $http.get(url).then(function(response){
                        var data = response.data;
                        for(var i in data){
                            value.push(new jResource(data[i]))
                        }
                    });
                    return value;
                }
            }
            return jResource;

        }
        return jResourceFactory;
    }
]); 

しかし、次のようなコード例:

app.factory("label", ["jotted_resource", function(jotted_resource) {
   var label = jotted_resource("api/labels");
   var all = label.query();
   ...

次のエラーをスローします。

TypeError: オブジェクト関数 jResource(value){ ...} にはメソッド 'query' がありません

残念ながら、JavaScript のオブジェクト/関数/プロトタイプのすべての複雑さに関する私の知識は、この問題に頭を悩ませるのに十分ではありません。コードを修正する方法を教えてください。

4

1 に答える 1