具有命名空间的Angular 4导出枚举

时间:2017-08-05 04:55:46

标签: angular typescript ionic2

我正试图让enum来处理国家和地区。货币代码。 必须在整个应用程序(Ionic 3 Angular 4应用程序)中使用enum

到目前为止,我发现了这种方式:

enum CountryCode {
  TH,
  BGD,
}

namespace CountryCode {
  export function getCurrencyCode(country: CountryCode) {
    switch (country) {
      case CountryCode.TH:
        return 'THB';
      case CountryCode.BGD:
        return 'BDT';
      default:
        return 'THB';
    }
  }
}

但是在这种情况下,enum无法导出到其他模块。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

你应该在命名空间内声明它,如下所示,

export namespace CountryCode {
    export enum CountryCode {
        TH,
        BGD,
    }
    export function getCurrencyCode(country: CountryCode) {
        switch (country) {
            case CountryCode.TH:
                return 'THB';
            case CountryCode.BGD:
                return 'BDT';
            default:
                return 'THB';
        }
    }
}