Angular 4使用名称空间导出枚举
我正在尝试使用Angular 4使用名称空间导出枚举,angular,typescript,ionic2,Angular,Typescript,Ionic2,我正在尝试使用enum来处理国家/地区和货币代码。 enum必须在整个应用程序(Ionic 3和4应用程序)中使用 到目前为止,我发现了这种方式: enum CountryCode { TH, BGD, } namespace CountryCode { export function getCurrencyCode(country: CountryCode) { switch (country) { case CountryCode.TH: r
enum
来处理国家/地区和货币代码。
enum
必须在整个应用程序(Ionic 3和4应用程序)中使用
到目前为止,我发现了这种方式:
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
无法导出到其他模块
如何解决此问题?您应该在名称空间中声明它,如下所示
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';
}
}
}
将导出添加到您的枚举-在执行导入时导出枚举国家代码{}-我应该导入命名空间还是枚举?奇怪-在
app.component.ts
导入正在工作,但在@Injectable()导出类UserData
中使用完全相同的导入-我得到错误找不到名称“CountryCode”