打字稿:字符串枚举返回未定义

时间:2018-12-21 13:49:26

标签: angular typescript

我有一个这样定义的枚举:

export enum ViewSide {
    Left = 'left',
    Right = 'right'
}

但是当我尝试使用它时,它无法按预期工作:

console.log(ViewSide); // return {0: "LEFT", 1: "RIGHT", LEFT: 0, RIGHT: 1}
console.log(ViewSide.Right); // return undefined instead of 'right'
console.log(ViewSide['Right']); // return undefined

我使用了类似的枚举,但是它们可以正常工作并返回字符串。

有什么想法吗?

编辑:原来这只是一个缓存问题。我之前没有使用字符串定义过枚举,并且这样保持了一段时间。

1 个答案:

答案 0 :(得分:4)

唯一的解释是,您有两个具有相同名称的枚举,并且导入了错误的枚举。

从第一个console.log输出中可以看到,另一个枚举的定义如下:

export enum ViewSide {
    LEFT,
    RIGHT
}