Я нашел несколько вопросов, похожих на мои, но большая часть связана с параметрами, ответы не помогли мне решить мою проблему. По сути, проблема заключается в следующем: как только пользователь входит в систему, он может визуализировать свое имя пользователя в панели навигации, когда он щелкает по нему, страница переносит пользователя на страницу профиля, в первый раз, когда она работает идеально, когда пользователь выходит из системы и входит под другим именем пользователя, информация о старом пользователе остается там до тех пор, пока страница не будет обновлена.
Сервисная учетная запись
getUserInformation(userId: number) {
if (!this.userInformation$) {
this.userInformation$ = this.http.post<any>(this.baseUrlGetUserInfo, { userId }).pipe(shareReplay());
}
return this.userInformation$;
}
По методу инициализации
ngOnInit() {
this.route.params.subscribe(params => {
this.loaderSpinner = true;
// tslint:disable-next-line: radix
// this.userId = this.accntService.currentUserId;
// tslint:disable-next-line: radix
this.accntService.currentUserId.subscribe(res => {
this.userId = res;
});
// tslint:disable-next-line: radix
this.userInformation$ = this.accntService.getUserInformation(parseInt(this.userId));
this.userInformation$.subscribe(result => {
this.userInformation = result.userInformation;
console.log(this.userInformation);
this.loaderSpinner = false;
}, error => {
this.loaderSpinner = false;
console.error(error);
});
});
}
Navbar HTML
<a [routerLink]="['/profile']" class="nav-link" *ngIf="(userName$ | async) as userName">
{{userName}}
</a>
Может ли кто-нибудь помочь мне с этим?
Заранее спасибо.