路由器:基于具有相同路由路径的访问来显示组件

时间:2020-06-22 14:29:58

标签: javascript angular typescript

我有一个home路由,管理员和用户都使用该路由,如果您以用户身份登录,有没有办法显示UserComponent并显示{{1 }}如果您以管理员身份登录?

这是我目前拥有的:

AdminComponent

我在想,也许我可以做这样的事情,但是,我目前不知道如何在脚本中访问该服务。

const routes: Routes = [
  { path: 'login', component: LoginComponent },
  {
    path: 'home',
    component: HomeComponent,
    children: [
      // Children routes mix of user/admin paths
    ]
  }
]

1 个答案:

答案 0 :(得分:1)

您可以在HomeComponent中这样做:

HTML:

<admin-component *ngIf="isAdmin; else userHome;"></admin-component>
<ng-template #userHome>
    <user-component></user-component>
</ng-template>

TS:

class HomeComponent {
    public isAdmin: boolean;

    constructor(userService: UserService) {
         this.isAdmin = userService.isAdmin;
    }
}