我正在使用角度7。如何向不同的用户显示不同的仪表盘,例如站点管理员用户,组织管理员用户,普通用户,超级管理员用户。
我想为此使用Role Guard,而不是子路由和动态路由。请让我知道该怎么做。
如果您为所有用户创建的组件不同于首先检查哪个用户登录的组件,而不是设置* ng如果与该用户相关。并且,如果您没有创建与在与哪个用户登录有关的html componenet中设置* ngIf的组件不同的组件。
如果您具有用于不同登录名的不同组件,则可以在登录后根据角色将其重定向。否则保留usetypeFlag并根据用户类型进行更新并使用*ngif
显示。
您可以将userTypeFlag设置为BehaviorSubject并对其进行更新,这将更加动态,并且可以从任何位置更改值并在HTML页面中动态反映。
import {BehaviorSubject, Observable} from 'rxjs';
private $roleType: BehaviorSubject<any>;
setRole(role: any) {
this.$roleType.next(role);
}
getRole(): Observable<any> {
return this.$roleType.asObservable();
}