10

I'm trying to get a grasp of Angular's ngResource. I've started with a simple code excerpt taken from Angular's documentation:

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

But when the code is run I check the JS console and I see an error saying:

Uncaught ReferenceError: $resource is not defined

Yes, I've included the 'angular-resource.js' script. I think I'm omitting something obvious, but I can't deduce what it is. Please help!

4

2 回答 2

14

As suggested in the comments you need to create a controller or service that uses the $resource.

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();
});
于 2013-07-03T10:34:19.123 回答
2

FYI incase it helps anyone, I had this which wasn't working. The $resource initialization was just returning undefined null, no resource service object.

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

There was no error. It turns out for some reason you cannot use $resource and $http I guess. Once I removed the $http, which was in there because of me using that lower level api earlier, it started working. Very weird.

于 2014-03-17T02:34:50.110 回答