freeCodeCamp/guide/russian/miscellaneous/keep-data-in-sync-in-angular/index.md

24 lines
3.1 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
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\_ и все. Обратите внимание на обратный вызов , мы переходим к функции _успеха_ получает новую ещь_ обратно из базы данных в качестве аргумента! Таким образом, вы можете легко добавить его обратно в локальную область без лишних издержек.