您好,当我导航到应用程序的另一个组件时,我目前遇到了订阅问题。我处理订阅的方式是在一个数组上。
private _subscriptions: Subscription[] = [];
每次我必须订阅时,我都会将订阅推送到这个数组。
this._subscriptions.push(
this._headerService.rightIconClicked
.subscribe(() => this._logout())
);
在我的 ngOnDestroy 方法中,我遍历这个数组并取消订阅每个订阅。
if (this._subscriptions) {
this._subscriptions.forEach((sub: Subscription) => {
sub.unsubscribe();
});
}
为了导航,我使用navigate()
了角度路由器的方法。
private _logout() {
this._router.navigate(['/login'])
}
需要考虑的是,在我的 ngOnDestroy() 方法中,在取消订阅之前,我有一个 console.log() 来表明我在那里。这甚至没有显示出来。提前致谢。