tablas reactivos formularios dinamicas angularjs

angularjs - reactivos - Forma recomendada de obtener datos del servidor



tablas angular 4 (2)

Hay casos en que $ resource puede no ser apropiado cuando se habla con back-end. Esto muestra cómo configurar el comportamiento $ resource like sin usar recursos.

angular.module(''myApp'').factory(''Book'', function($http) { // Book is a class which we can use for retrieving and // updating data on the server var Book = function(data) { angular.extend(this, data); } // a static method to retrieve Book by ID Book.get = function(id) { return $http.get(''/Book/'' + id).then(function(response) { return new Book(response.data); }); }; // an instance method to create a new Book Book.prototype.create = function() { var book = this; return $http.post(''/Book/'', book).then(function(response) { book.id = response.data.id; return book; }); } return Book; });

Luego, dentro de tu controlador puedes:

var AppController = function(Book) { // to create a Book var book = new Book(); book.name = ''AngularJS in nutshell''; book.create(); // to retrieve a book var bookPromise = Book.get(123); bookPromise.then(function(b) { book = b; }); };

¿Cuál es la forma recomendada de conectarse a las fuentes de datos del servidor en AngularJS sin usar $resource ?

El $resource tiene muchas limitaciones tales como:

  1. No usar futuros adecuados
  2. No siendo lo suficientemente flexible

Recomiendo que use $resource .

Puede admitir (omisión de url) en la próxima versión de Angularjs. Entonces podrás codificar de esta manera:

// need to register as a serviceName $resource(''/user/:userId'', {userId:''@id''}, { ''customActionName'': { url:''/user/someURI'' method:''GET'', params: { param1: ''....'', param2: ''....'', } }, .... });

Y las devoluciones de retorno se pueden manejar en ctrl scope como este.

// ctrl scope serviceName.customActionName ({ paramName:''param'', ... }, function (resp) { //handle return callback }, function (error) { //handler error callback });

Probablemente pueda manejar código en un nivel de abstracción más alto.