如何为枚举Angular 4打字稿显示不同的字符串

Red*_* fx 6 enums typescript angular2-template angular

我有一个基于字符串的枚举.在不更改枚举类的情况下,我需要在模态上显示不同的字符串.我的obj包含枚举.我的代码如下:

ENUM:

  export enum FooEnum {
        ONE,
        TWO,
        THREE
    }
Run Code Online (Sandbox Code Playgroud)

HTML:

<select class="form-control"
                    type="text"
                    id="foo"
                    [(ngModel)]="obj.foo"
                    required
                    name="foo"
                    #foo="ngModel">
              <option *ngFor="let foo of fooToList()" [ngValue]="foo">{{foo}}</option>
            </select>
Run Code Online (Sandbox Code Playgroud)

打字稿:

  fooToList(): Array<string> {
    const keys = Object.keys(FooEnum);
    return keys.slice(keys.length / 2);
  }
Run Code Online (Sandbox Code Playgroud)

我想将ONE视为Un,TWO视为Deux等.你能帮我一下吗?

注意:我还包括角度2,因为2和4非常相似.

Lyu*_*mir 9

您也可以使用值初始化枚举

enum FooEnum { 
  ONE = 'Un',
  TWO = 'Deux',
  ... etc
}
Run Code Online (Sandbox Code Playgroud)

文档.

注意:这是在TypeScript 2.4中引入的