【发布时间】:2015-10-20 14:19:08
【问题描述】:
Angular 和打字稿的新手。
我有如下打字稿枚举
public enum MyEnum{
A = 0,
B = 1,
C = 2
}
作用域变量 as-
$scope.myLetter: MyEnum = MyEnum.B;
进行枚举检查的正确方法是什么?
方案一:比较html页面中枚举的整数值-
<div ng-class="{classA: myLetter === 0, classB: myLetter === 1, classC: myLetter === 2}">Test panel</div>
选项2:从控制器作用域方法中获取类名
$scope.getClass(value: myLetter): string{
if(value === MyEnum.A)
return 'classA';
if(value === MyEnum.B)
return 'classB';
if(value === MyEnum.C)
return 'classC';
}
并且将html元素作为-
<div ng-class='getClass(myLetter)'>Test panel</div>
选项 3:'RyanNerd' 在Angular.js and ng-switch-when - emulating enum
给出的答案对我来说,选项 2 更可取,其余选项将 ng-class 值检查为字符串,这不会给我们提供静态类型强制。如果有的话,请分享您的观点或任何其他更好的选择。
【问题讨论】:
标签: angularjs typescript