サーバーからデータを取得する推奨方法 質問する

サーバーからデータを取得する推奨方法 質問する

を使用せずに AngularJS でサーバー データ ソースに接続する推奨方法は何ですか$resource

$resourceのような多くの制限があります:

  1. 適切な未来を使用していない
  2. 柔軟性が足りない

ベストアンサー1

バックエンドと通信するときに $resource が適切でない場合があります。ここでは、リソースを使用せずに $resource のような動作を設定する方法を示します。

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

すると、コントローラー内で次の操作が可能になります。

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

おすすめ記事