在 Angular2 视图模板中使用枚举
Using enums in Angular2 view templates
有趣的问题。我需要使用带有枚举的 Angualar4 模板。
又名
<div class="small-12 columns compliance-freq__item"
[ngClass]="getComplianceFrequencyClasses( complianceFrequency, LicenceComplianceFrequency.QUARTERLY)"</div>
注意
LicenceComplianceFrequency.QUARTERLY
枚举声明如下
export enum LicenceComplianceFrequency {
QUARTERLY = "QUARTERLY",
MONTHLY = "MONTHLY"
}
这给我一个模板错误,
无法读取未定义的 属性 个季度。
我已经尝试通过修改组件本身以多种方式将其与模板集成。
1) 模板中仍有四分之一的未定义错误
get LicenceComplianceFrequency() {
return LicenceComplianceFrequency;
}
2)(尖叫 LicenceComplianceFrequency 不是文件 *.ts 的可导出元素)
import {LicenceComplianceFrequency} from '....';
public LicenceComplianceFrequency = LicenceComplianceFrequency;
有什么建议吗?
抱歉,我自己已经找到了答案。
以下使用模板。我必须以这种方式声明它并且不能在全局范围内使用枚举,这并不好,但是...
将这段代码放在组件中
import * as LicenceComplianceFrequency from '...';
public LicenceComplianceFrequency = LicenceComplianceFrequency;
然后就可以在模板中使用了,如下所示
<div class="compliance__item">{{ LicenceComplianceFrequency.QUARTERLY }}</div>
编辑
在较新的 Angular 版本中,可以这样做
import {LicenceComplianceFrequency} from "../../shared/enums/licence-compliance-frequency.enum";
public LicenceComplianceFrequency = LicenceComplianceFrequency;
在模板中使用它和以前一样
<div class="compliance__item">{{ LicenceComplianceFrequency.QUARTERLY }}</div>
有趣的问题。我需要使用带有枚举的 Angualar4 模板。
又名
<div class="small-12 columns compliance-freq__item"
[ngClass]="getComplianceFrequencyClasses( complianceFrequency, LicenceComplianceFrequency.QUARTERLY)"</div>
注意
LicenceComplianceFrequency.QUARTERLY
枚举声明如下
export enum LicenceComplianceFrequency {
QUARTERLY = "QUARTERLY",
MONTHLY = "MONTHLY"
}
这给我一个模板错误,
无法读取未定义的 属性 个季度。
我已经尝试通过修改组件本身以多种方式将其与模板集成。
1) 模板中仍有四分之一的未定义错误
get LicenceComplianceFrequency() {
return LicenceComplianceFrequency;
}
2)(尖叫 LicenceComplianceFrequency 不是文件 *.ts 的可导出元素)
import {LicenceComplianceFrequency} from '....';
public LicenceComplianceFrequency = LicenceComplianceFrequency;
有什么建议吗?
抱歉,我自己已经找到了答案。
以下使用模板。我必须以这种方式声明它并且不能在全局范围内使用枚举,这并不好,但是...
将这段代码放在组件中
import * as LicenceComplianceFrequency from '...';
public LicenceComplianceFrequency = LicenceComplianceFrequency;
然后就可以在模板中使用了,如下所示
<div class="compliance__item">{{ LicenceComplianceFrequency.QUARTERLY }}</div>
编辑
在较新的 Angular 版本中,可以这样做
import {LicenceComplianceFrequency} from "../../shared/enums/licence-compliance-frequency.enum";
public LicenceComplianceFrequency = LicenceComplianceFrequency;
在模板中使用它和以前一样
<div class="compliance__item">{{ LicenceComplianceFrequency.QUARTERLY }}</div>