Firestore в качестве бэкэнда.Мне удалось пройти, просто используя основные грубые методы.Однако я хотел выяснить, как определить изменения в списке элементов, которые возвращаются после первоначальной подписки.
В конечном итоге я хочу: - уменьшить количество документов, которые читаются каждый раз - анимировать список элементов (анимация входа, анимация выхода, анимация изменения)
ВВ следующем примере у меня есть базовый метод crud вместе с начальной подпиской:
posts:post [] = [];
constructor(private db: AngularFirestore){}
ngOnInit(){
//The initial subscription to the posts
this.db.collection("Posts").valuechanges().subscribe( _posts => {
this.posts = _posts;
});
async addItem(_post:post)
{
_post.id = this.db.createId();
await this.db.collection("Posts").doc(_post.id).set(_post);
}
async update(_post:post)
{
await this.db.collection("Posts").doc(_post.id).update(_post);
}
delete (_post:post)
{
await this.db.collection("Posts").doc(_post.id).delete();
}
С помощью вышеуказанных методов я подписываюсь на документы в коллекции Posts.Первоначально я получаю массив типа Post, и всякий раз, когда добавляется, обновляется, удаляется другой элемент, я получаю обновленный массив типа post.
Как мне дифференцировать то, что случилось с предметом, чтобы я мог оживить изменения (т.е. оживить запись предмета и т. Д ...)?
Это действительно помогло бы мне, если бы выможет показать пример кода?
Спасибо