ngx-permissions-html

时间:2018-11-21 14:40:31

标签: angular

我在Angular 6应用程序中使用ngx-permissions。我有许多权限将在整个应用程序中使用,因此我想拥有一个包含所有权限名称的常量文件-例如:

import { Injectable } from "@angular/core";

@Injectable({
  providedIn: 'root'
})
export class Permission {
  public static CanViewX = 'CanViewX';
  public static CanEditX = 'CanEditX';
  public static CanAdministerX = 'CanAdministerX';
}

在检查打字稿中的权限时,我可以引用此Permission类:

import { Injectable } from '@angular/core';
import { NgxPermissionsService } from 'ngx-permissions';
import { Permission } from '../data/permission';

@Injectable({
  providedIn: 'root'
})
export class Service {

  constructor(private permissionsService: NgxPermissionsService) { }

  checkPermission() {
      this.permissionsService.hasPermission(Permission.CanViewX);
  }
}

但是,当我检查html中的权限时,我正努力使用我的Permission类。尽管我的用户绝对拥有该权限,但从未显示第二个<p>。硬编码权限名称可以使用,但是我想使用我的类,因为如果开发人员必须记住权限名称,我会看到输入错误和错误。

<p *ngxPermissionsOnly="['CanViewX']">This will work</p>
<p *ngxPermissionsOnly="[Permission.CanViewX]">Viewers should be able to see this, but can't</p>

有没有办法避免用html硬编码我的权限名称?

1 个答案:

答案 0 :(得分:1)

最后,我不想对html中的权限名称进行硬编码,因此我在.ts文件中创建了一个属性,并在html中将其绑定。

相关问题