仅在首次登录时显示初始用户设置组件
Show initial user setup component only on first login
我的 app.component.html:
中有 2 个组件 initial-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 组件。
我的问题是,如何实现这个逻辑,这意味着哪个是 show/hide 这两个组件的最佳方式,以及如何在用户保存后从初始设置组件重定向到 app-navbar 组件所需的设置数据。
我想我需要将路由器与路由器保护器一起使用,但我没有找到这个用例的任何示例,我会很清楚地理解这一点。我是 Angular 的新手,谢谢!
使用angular routing
您可以为此逻辑创建一个函数!喜欢...
app.component.ts
import { Router, ActivatedRoute } from '@angular/router';
export class AppComponent {
public userFloor;
constructor(private userFloorService: UserFloorService, private router: Router,){}
ngOnInit(){
this.userFloorService.getJSON().subscribe(
(data) =>{
if(data.length){
this.router.navigate(['/PAGE-PATH']);
}else {
this.router.navigate(['/PAGE-PATH']);
}
});
}
}
希望对大家有用!
我的 app.component.html:
中有 2 个组件 initial-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 组件。
我的问题是,如何实现这个逻辑,这意味着哪个是 show/hide 这两个组件的最佳方式,以及如何在用户保存后从初始设置组件重定向到 app-navbar 组件所需的设置数据。
我想我需要将路由器与路由器保护器一起使用,但我没有找到这个用例的任何示例,我会很清楚地理解这一点。我是 Angular 的新手,谢谢!
使用angular routing
您可以为此逻辑创建一个函数!喜欢...
app.component.ts
import { Router, ActivatedRoute } from '@angular/router';
export class AppComponent {
public userFloor;
constructor(private userFloorService: UserFloorService, private router: Router,){}
ngOnInit(){
this.userFloorService.getJSON().subscribe(
(data) =>{
if(data.length){
this.router.navigate(['/PAGE-PATH']);
}else {
this.router.navigate(['/PAGE-PATH']);
}
});
}
}
希望对大家有用!