0
我使用Angularfire2庫在用戶登錄並獲取從火力地堡數據庫中的數據,但是當用戶點擊退出以下錯誤拋出到控制檯後拋出:AngularFire2錯誤註銷用戶
不能讀取線零的特性「UID」
這裏是uid
財產在ngOnInit
方法任務組件的2線引發錯誤:
ngOnInit() {
this.authSub1 = this.auth.authState.subscribe((auth) => {
this.tasksSub = this.af.list(`users/${auth.uid}/tasks`, { preserveSnapshot: true }).subscribe(snapshots => {
snapshots.forEach(snapshot => {
this.tasksArray.push(snapshot.val().name);
});
});
}, (err) => {this.openSnackBar(); console.log(err); });
}
然後我打電話unsbuscribe
上述訂閱,以避免在ngOnDestroy
方法內存泄漏:
ngOnDestroy() {
this.authSub1.unsubscribe();
}
這裏是由位於主成分(的路由器出口處的按鈕來觸發登出方法主要成分是顯示上述組件):
logout() {
this.auth.auth.signOut()
.then(() => {
this.router.navigateByUrl('/login');
})
.catch(function(err) {console.log(err); });
}