AngularJS $ recurs de Descans exemple

$ recurs va ser destinat a recuperar dades d’un extrem, manipular i enviar de nou. Tens alguns dels que hi ha, però realment no estàs aprofitant pel que es va fer per fer. A És fantàstic disposar de mètodes personalitzats en el seu recurs, però no vols perdre les característiques interessants és que ve amb OOTB.
EDIT : crec que no em explicat prou bé com l’original, però $ recurs d’algunes coses gracioses amb les devolucions. Todo.get () i Todo.query () tots dos retornar l’objecte de recurs, i la transfereixen a la devolució de trucada quan l’aconsegueixi completa. Fa alguns fantasia coses amb promeses darrere de les escenes que vol dir que vostè pot trucar a $ save () abans de la get () de devolució de trucada en realitat els incendis, i que va a esperar. És probablement la millor manera per tractar amb els seus recursos dins d’una promesa () o el mètode de devolució de trucada.

Normes d’us

var Todo = $resource('/api/1/todo/:id');//create a todovar todo1 = new Todo();todo1.foo = 'bar';todo1.something = 123;todo1.$save();//get and update a todovar todo2 = Todo.get({id: 123});todo2.foo += '!';todo2.$save();//which is basically the same as...Todo.get({id: 123}, function(todo) { todo.foo += '!'; todo.$save();});//get a list of todosTodo.query(function(todos) { //do something with todos angular.forEach(todos, function(todo) { todo.foo += ' something'; todo.$save(); });});//delete a todoTodo.$delete({id: 123});

Així mateix, en el cas que el que has publicat a la OP, vostè podria obtenir un objecte de recurs i, a continuació, trucar a qualsevol de les seves funcions personalitzades (en teoria):

var something = src.GetTodo({id: 123});something.foo = 'hi there';something.UpdateTodo();

M’agradaria experimentar amb la OOTB aplicació abans que me’n vaig anar i es va inventar la meva pròpia però. I si vostè troba que vostè no està utilitzant alguna de les característiques predeterminades de $ recurs, de probablement utilitzant $ http en la que és pròpia.

Actualització: Angular 1.2 i Promeses

Com angulars, 1.2, recursos de suport promeses. Però no canviar la resta de la conducta.
Per aprofitar promeses $resource, heu d’utilitzar el $promise de la propietat en el valor retornat.

Exemple d’ús de promeses

var Todo = $resource('/api/1/todo/:id');Todo.get({id: 123}).$promise.then(function(todo) { // success $scope.todos = todos;}, function(errResponse) { // fail});Todo.query().$promise.then(function(todos) { // success $scope.todos = todos;}, function(errResponse) { // fail});

Només tingues en compte que els $ promesa de propietat és una propietat sobre els mateixos valors que tornava amunt. Vostè pot aconseguir tan estrany:

Aquests són equivalents

var todo = Todo.get({id: 123}, function() { $scope.todo = todo;});Todo.get({id: 123}, function(todo) { $scope.todo = todo;});Todo.get({id: 123}).$promise.then(function(todo) { $scope.todo = todo;});var todo = Todo.get({id: 123});todo.$promise.then(function() { $scope.todo = todo;});

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *