我正在尝试使用一个枚举值来设置HTML属性的选定值:

export enum MyEnum {
    FirstValue,
    SecondValue
}
export function MyEnumAware(constructor: Function) {
    constructor.prototype.MyEnum = MyEnum;
}

@MyEnumAware
@Component({
    templateUrl: "./lot-edit.component.html",
    styleUrls: ["./lot-edit.component.css"],
})
export class LotEditComponent implements OnInit {
    @Input() myEnumValue: MyEnum ;

}
<td><input name="status" type="radio" [value]="MyEnum.FirstValue" [(ngModel)]="myEnumValue"></td>
<td><input name="status" type="radio" [value]="MyEnum.SecondValue" [(ngModel)]="myEnumValue"></td>

但是我得到“无法读取未定义的属性'FirstValue'

有没有办法使用枚举值作为html属性的值?

最佳答案

您的模板只能访问其组件类的成员变量。因此,如果要使用枚举的值,请将其(枚举)分配给成员变量。

在您的组件中

export class MyComp {
  MyEnum = MyEnum;
  .....
}

然后,您可以自由访问模板中枚举的元素。

关于angular - Angular2在html值属性中使用枚举值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42464367/

10-12 06:32