Angular2:访问路由常量的正确方法?

时间:2017-03-07 20:42:02

标签: angular router

除了我建立的AuthGuard之外,我只是尝试为模板构建类似保护功能的东西。在我的AuthService中,我得到public function isAuthorized(...),应检查用户是否有权查看模板中的某些元素。

所以这是我的模板的HTML

<button [routerLink]="['/somewhere']">
  Personen
</button>

我得到了这条路线

{
  path: 'somewhere',
  canActivate: [AuthGuard],
  data: {
    permissions: [
      "add:student",
      "edit:student",
      "delete:student"
    ]
  }
}

因此,激活路由所需的权限存储在路由常量中。我可以轻松地在AuthService.isAuthorized(...)中访问此常量。 但是我获得了整个路由树。

无论如何做这样的事情

<button [routerLink]="['/somewhere']"
        *ngIf=AuthService.isAuthorized(***)>
  Personen
</button>

其中***返回按钮绑定到的路由的数据,在本例中为/somewhere

0 个答案:

没有答案