Files
freeCodeCamp/guide/russian/miscellaneous/keep-data-in-sync-in-angular/index.md
2018-10-16 21:32:40 +05:30

24 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Keep Data in Sync in Angular
localeTitle: Хранить данные в синхронизации в угловых
---
Предположим, что вы хотите, чтобы что-то появилось в представлении пользователя, когда вы добавляете его в базу данных. Новая _вещь_ , объект будет мгновенно отображаться в цикле _нг-повторов_ в вашей точки зрения HTML , если вы просто добавить его в свой локальный массив с
```
$scope.awesomeThings.push(newThing);
```
Но вам все равно нужно добавить его в свою коллекцию баз данных. Добавьте его в свою коллекцию с помощью
```
$http.post('/api/things', newThing);
```
Но ждать! Вы скоро поймете , что в то время как все другие вещи в вашем массиве _$ scope.awesomeThings_ имеют уникальные идентификаторы , назначенные MongoDB (под _вещи._ Id\_ недвижимость), ваш _newThing_ объект не будет, что сделает его трудно для вас в какой - то момент к сделать действия с базой данных на нем (удаление его из вашей базы данных требует использования его свойства _._ id\_). Итак, что вы хотите сделать после добавления в свой массив _$ scope.awesomeThings_ (потому что мы хотим, чтобы он сразу отображался на странице пользователя). В целом, ваш код для добавления newThing в ваш локальный массив и базу данных будет выглядеть так:
```
$scope.awesomeThings.push(newThing);
$http.post('/api/things', newThing).success(function(thatThingWeJustAdded) {
$scope.awesomeThings.pop(); // let's lose that id-lacking newThing
$scope.awesomeThings.push(thatThingWeJustAdded); // and add the id-having newThing!
};
```
Это обновляет локальный массив для кажущихся мгновенными результатами для вашего пользователя, а затем синхронизирует его с вашей базой данных и обновляет локальный массив в фоновом режиме с помощью базы данных вашего _нового_ объекта _Thing_ , уникального _._ id\_ и все. Обратите внимание на обратный вызов , мы переходим к функции _успеха_ получает новую _вещь_ обратно из базы данных в качестве аргумента! Таким образом, вы можете легко добавить его обратно в локальную область без лишних издержек.