在以前已实例化的Angular 8 Update组件中

问题描述 投票:0回答:1

我执行了错误的数据库查询,因为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;
    });
   }
}
angular
1个回答
0
投票

您可以尝试使用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()都会更新将重新呈现模板的用户。

© www.soinside.com 2019 - 2024. All rights reserved.