Angularjs $ Repos Exemple de ressources

$ est destiné à récupérer des données d’une extrémité, manipulant et renvoyer à nouveau. Vous en avez quelques-unes, mais vous ne profitez pas vraiment de ce qui a été fait pour faire.
C’est génial d’avoir des méthodes personnalisées dans votre ressource, mais vous ne voulez pas perdre de fonctionnalités intéressantes, c’est qu’il vient avec Ootb.
edit: Je pense que je ne me suis pas expliqué comme l’original, mais $ ressource de certaines choses drôles avec des retours. All.get () et All.Query () renvoient l’objet Ressource et transférez-le au rappel lorsqu’il est complet. Il fait des choses fantastiques avec des promesses dans les coulisses qui signifie que vous pouvez appeler $ sauvegarder () avant que l’obtention () de rappel réellement incendie et qu’est-ce qui va attendre. C’est probablement le meilleur moyen de gérer ses ressources au sein d’une promesse () ou de la méthode de rappel.

NORM D’UTILISATION

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});

De même, dans le cas où ce que vous avez publié dans l’OP, vous pouvez obtenir un objet de ressource, puis appeler l’une de vos fonctions personnalisées (en théorie):

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

Je voudrais expérimenter avec l’application OOTB avant de partir et la mienne a été inventée cependant. Et si vous constatez que vous n’utilisez aucune des fonctionnalités par défaut de $ de ressource $, vous devriez probablement utiliser $ http dans lequel elle est sa propre.

mise à jour: angulaire 1.2 et promesse

Comme angulaire, 1,2, des ressources de soutien à la promesse. Mais ne changez pas le reste du comportement.
Pour profiter des promesses $resource, vous devez utiliser le $promise de la propriété dans la valeur renvoyée.

Exemple d’utilisation des promesses

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});

Il suffit de garder à l’esprit que la promesse de la propriété $ est une propriété sur les mêmes valeurs qui sont revenues. Vous pouvez obtenir si étrange:

ce sont un équivalent

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;});

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *