2013-07-03 12 views
10

私はAngularのngResourceを把握しようとしています。私は角のドキュメントから取られた簡単なコードの抜粋を開始しました:

angular.module("app", ['ngResource']) 
var user = $resource("/REST/user/:id", {userID:'@id'}); 

しかし、コードが実行されると、私はJSコンソールをチェックして、私はというエラーを参照してください。

Uncaught ReferenceError: $resource is not defined

はい、私は」 'angular-resource.js'スクリプトが含まれています。私は何か明白なものを省略していると思うが、それが何であるかを推測することはできない。助けてください!

+0

ドキュメントの所在地を教えてください。 – Sprottenwels

+0

@Sprottenwels http://docs.angularjs.org/api/ngResource.$resource –

+0

http://docs.angularjs.org/api/ngResource.$resource here、googleで簡単検索。 'app'はあなたのアプリ名、btwでなければなりません。 –

答えて

14

コメントに示唆されているように、$リソースを使用するコントローラまたはサービスを作成する必要があります。

Here is an example

var app = angular.module('plunker', ['ngResource']); 

app.controller('MainCtrl', function($scope, $resource) { 
    var dataService = $resource('http://run.plnkr.co/5NYWROuqUDQOGcKq/test.json'); 
    $scope.data = dataService.get(); 
}); 
+0

それは仕事をしました。コントローラスコープの要件がドキュメンテーション(http://docs.angularjs.org/api/ngResource.$resource)に記載されていないということを奇妙に思う - おそらくあまりにも明白なことですが、今私は知っています。ありがとう! –

+2

ええ、私はそれが言うべき2つの明白な事の一つだと思います。 –

2

FYIそれは誰にも助け包み、私は働いてなかった、これを持っていました。 $resourceの初期化では、リソースサービスオブジェクトではなく、未定義のnullが返されました。

myConstrollers.controller('ConsumerListController',['$scope', '$http','$resource','ConsumerService',function($scope, $http,$resource, ConsumerService) { 
    $scope.consumers=ConsumerService.query(); 
    }]); 

エラーはありませんでした。何らかの理由で$resource$httpとは思えません。先ほどの低レベルのAPIを使って私がそこにあった$httpを削除したところ、それは動作し始めました。非常に奇妙な。

関連する問題