我正在使用
我想要实现的目标
实时更新
如果数据库中的数据发生了变化,它会在页面上自动更新,而无需在视图之间导航或重新加载页面
我做了什么
最初,我使用AngularFire将文档显示为一个可以观察到实时udpates的observable。但是,每当我删除文档时(通过页面上的自定义按钮),控制台中都会抛出错误以检查文档是否存在。 (可能是因为在删除文档之后,在重新路由之前它仍然在页面上并且认为我正在尝试提供不存在的文档)
因此,我使用FireStore文档来实现'get'方法,这样如果我删除文档,页面将检查文档是否存在。因此,我的控制台错误已解决:enter link description here。但这确实意味着我不再获得实时更新。
我想做什么
Component.ts
export class
....
// These two were originally used whilst using the AF observables
private projectDoc: AngularFirestoreDocument<any>;
project: Observable<any>;
getProjectData() {
var db = firebase.firestore();
var docRef = db.collection(`folders/${this.folderId}/albums`).doc(`${this.albumId}`);
docRef.get().then((doc) => {
if (doc.exists) {
// A const for the returned data
const data = doc.data();
this.album_title = data.album_title;
this.album_reference = data.album_reference;
} else {
console.log("No such document!");
}
}).catch(function (error) {
console.log("Error getting document:", error);
});
}