2013-07-03 16 views
10

Ich versuche Angulars ngResource zu erfassen. Ich habe mit einem einfachen Code Auszug begann von Angular Dokumentation entnommen:

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

Aber wenn der Code ausgeführt wird, überprüfe ich die JS-Konsole und ich sehe eine Fehlermeldung,:

Uncaught ReferenceError: $resource is not defined

Ja, ich Ich habe das Skript 'angular-resource.js' hinzugefügt. Ich denke, ich verschweige etwas Offensichtliches, aber ich kann nicht ableiten, was es ist. Bitte helfen Sie!

+0

Können Sie auf den Teil der Dokumentation zeigen, von dem Sie das bekommen haben? – Sprottenwels

+0

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

+0

http://docs.angularjs.org/api/ngResource.Graesource hier, schnelle Suche auf Google. 'app' muss Ihr App-Name sein, btw. –

Antwort

14

Wie in den Kommentaren vorgeschlagen, müssen Sie einen Controller oder einen Dienst erstellen, der die Ressource $ verwendet.

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

Das hat den Job gemacht. Seltsam, dass die Anforderung für den Controller-Umfang nicht in der Dokumentation erwähnt wird (http://docs.angularjs.org/api/ngResource.CAressource) - vielleicht ist es zu offensichtlich, um es zu erwähnen - aber jetzt weiß ich es. Vielen Dank! –

+2

Ja, ich denke, es ist eines dieser Dinge, die zu erwähnen sind. Es sei denn, Sie haben gerade erst begonnen, eckig zu verwenden. In diesem Fall sollte es wirklich heißen! –

2

FYI einhüllen es jemand hilft, hatte ich es, was nicht funktionierte. Die $resource Initialisierung gab gerade undefined null zurück, kein Ressourcenserviceobjekt.

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

Es gab keinen Fehler. Es stellt sich heraus, dass Sie aus irgendeinem Grund nicht $resource und $http verwenden können, denke ich. Sobald ich die $http entfernte, die dort war, weil ich das niedrigere Niveau api früher verwendete, fing es an zu arbeiten. Sehr merkwürdig.

Verwandte Themen