在数组中查找元素 - >方法发布。打字稿

时间:2018-02-19 14:28:38

标签: angular typescript

当我在app中登录时,ws发布我和我的用户权限,就像这个json

   {"StatusCode":0,"StatusMessage":"Authentificated Successfully",
    "Token":"eyJhbGciOiJIUzI1NiIs",
    "StatusDescription":{
    "Role":"admin",
    "Permissions":["homeboxpackageactivate",
    "eventscreate",
    "pollinglivememory",
    "pollinglivememorygetall",
    "usersgetall",
    "app_rolescreate",
    "app_rolesupdatebyid"
     ....]}}

你能建议我如何从这个数组中找到我的权限吗?

我创建

canActivate(component: string): boolean {
        return this.permissions && this.permissions.find(x => x.permissin_desc === component) != null;
    }

在html代码中我使用* ngIf,如下所示:

*ngIf="ws.canActivate('usersgetall')"

在此,不要显示任何内容,因为我在我的数组外控制Permissions。你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

您只需要检查Permissions数组是否包含component值,您可以使用includes

canActivate(component: string): boolean {
   return this.Permissions && this.Permissions.includes(component);
}

请注意Permission属性的情况。