如何为不同的用户显示不同的仪表板

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

我正在使用角度7。如何向不同的用户显示不同的仪表盘,例如站点管理员用户,组织管理员用户,普通用户,超级管理员用户。

我想为此使用Role Guard,而不是子路由和动态路由。请让我知道该怎么做。

angular
2个回答
0
投票

如果您为所有用户创建的组件不同于首先检查哪个用户登录的组件,而不是设置* ng如果与该用户相关。并且,如果您没有创建与在与哪个用户登录有关的html componenet中设置* ngIf的组件不同的组件。


0
投票

如果您具有用于不同登录名的不同组件,则可以在登录后根据角色将其重定向。否则保留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();
 }
© www.soinside.com 2019 - 2024. All rights reserved.