我的app.component.html中有 2 个组件 intial-settings 和 app-navbar :
<initial-settings *ngIf="!userFloor"></initial-settings> <app-navbar *ngIf="userFloor"></app-navbar>
还有我的app.component.ts:
export class AppComponent {
public userFloor;
constructor(private userFloorService: UserFloorService){}
ngOnInit(){
this.userFloorService.getJSON().subscribe(
data => this.userFloor = data);
}
}
我只想在第一次用户登录时显示初始设置组件,以便用户可以设置一些东西。在所有下一个用户登录时,应用程序应该立即显示第二个应用程序导航栏组件,因为用户已经设置了这些所需的东西,并且它们存储在数据库中。
所以,我使用服务来获取数据。如果数据为空,表示用户是第一次登录,则显示初始设置组件。数据保存后,重定向到 app-navbar 组件。如果数据不为空,则显示 app-navbar 组件。
我的问题是,如何实现这个逻辑,这意味着这是显示/隐藏这两个组件的最佳方式,以及如何在用户保存所需的设置数据后从 intial-settings 组件重定向到 app-navbar 组件。
我想我需要使用带有路由器保护的路由器,但我没有找到这个用例的任何例子,我会很清楚地理解。我是Angular的新手,谢谢!