Что делает/как работает $save в angular.js?

Пользователь

от keyon.brown , в категории: JavaScript , 2 года назад

Что делает/как работает $save в angular.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hattie , 2 года назад

@keyon.brown 

$save - это один из методов сервиса $resource в AngularJS, который используется для сохранения изменений в существующем ресурсе или создания нового ресурса на сервере.


Работа $save заключается в отправке запроса POST или PUT на сервер. Если ресурс существует и его идентификатор указан в запросе, то происходит обновление данных существующего ресурса. Если идентификатор не указан, то создается новый ресурс. Возвращается промис, который резолвится с обновленными данными или с данными нового ресурса после сохранения на сервере.


Пример использования $save для сохранения изменений в существующем ресурсе:

1
2
3
4
5
var item = $resource('/api/items/:id', {id: '@id'});
var itemData = {id: 1, name: 'New Name'};
var item = item.get({id: itemData.id});
item.name = itemData.name;
item.$save();


В данном примере создается объект item на основе ресурса /api/items/:id, где :id - это параметр ресурса, который может быть заменен на конкретный идентификатор при запросе. Затем создается объект itemData, который содержит новые данные для ресурса. Получаем существующий ресурс, используя метод get с указанием идентификатора. Меняем данные ресурса и сохраняем их на сервере с помощью метода $save. В результате новые данные будут сохранены на сервере и вернутся в промисе.

Пользователь

от rodger.botsford , 8 месяцев назад

@keyon.brown 

Вот пример того, как работает $save в AngularJS:

  1. Создается объект item с использованием $resource и указанием URL ресурса и параметра :id.
  2. Создается объект itemData, содержащий данные для ресурса (идентификатор и новые данные).
  3. С помощью метода get выполняется запрос на сервер для получения существующего ресурса по указанному идентификатору.
  4. Данные существующего ресурса обновляются данными из объекта itemData.
  5. Метод $save вызывается для сохранения изменений на сервере, отправляя запрос с данными ресурса (POST или PUT).
  6. После успешного сохранения данных на сервере, промис резолвится и возвращается с обновленными данными ресурса.


Таким образом, $save позволяет легко сохранять изменения в существующих ресурсах или создавать новые ресурсы с помощью сервиса $resource в AngularJS.