Angular 如何欺骗AOT compliance check/TS编译器来检查给定的代码段?
我有一系列权限,如下所示:Angular 如何欺骗AOT compliance check/TS编译器来检查给定的代码段?,angular,Angular,我有一系列权限,如下所示: permissions={ view: "permissionName1", create: "permissionName2" } 在组件的构造函数中,我有一个方法,该方法将权限名称转换为布尔值,指出您是否拥有权限,因此生成的运行时权限如下所示 permissions={ view: true, create: false } 当我需要在模板中使用权限时,它可以正常工作,如下所示: <ng-template *ngIf="permissio
permissions={
view: "permissionName1",
create: "permissionName2"
}
在组件的构造函数中,我有一个方法,该方法将权限名称转换为布尔值,指出您是否拥有权限,因此生成的运行时权限如下所示
permissions={
view: true,
create: false
}
当我需要在模板中使用权限时,它可以正常工作,如下所示:
<ng-template *ngIf="permissions.view"> </ng-template>
如果希望在多个条件下使用权限,则会出现问题
<ng-template *ngIf="someSortOfCondition && permissions.view"> </ng-template>
这给了我一个编译AOT时的错误
类型“string”不可分配给类型“boolean”
我从内存中记下了这一点,因此它可能不是准确的错误消息。很明显,我想在这个条件表达式中使用字符串作为布尔值,因为在编译时权限。view
确实是一个字符串-它是一个权限名,而不是它的值
有没有一种方法可以欺骗AOT分析器忽略我的可响应性上的给定情况?权限是在构造函数中初始化的。如果您在模板中编写
权限['view']
而不是权限,则它将起作用
对于AOT编译检查,您可以根据
我同意这将是非常有用的,但这是正确的要求
因为它在我的心里。这是一个插件
我们使用的tslint实现了特定角度的fules
你试过了吗!!权限。查看
?@yurzui我刚才在github上看到了,我会去看看的!