我执行了错误的数据库查询,因为SessionStorage中仍然没有任何内容,如何在登录后更新组件以重新查询?我正在学习使用angular
export class HeaderComponent implements OnInit {
user: User = new User();
constructor(private authService:AuthService,private router:Router,private userService:UserService) { }
ngOnInit() {
this.getUser();
}
getUser(){
this.userService.getUser().subscribe(data=>{
this.user=data;
});
}
}
您可以尝试使用async
管道而不是getUser()
方法。然后它将监听更改。
export class HeaderComponent implements OnInit {
user$ = this.userService.getUser().pipe(share());
constructor(private authService:AuthService,private router:Router,private userService:UserService) { }
}
和模板中
<ng-container *ngIf="user$ | async as user">
{{ user | json }}
</ng-container>
每次userService.getUser()
都会更新将重新呈现模板的用户。