TypeScript 1.6.2->无法将类型“”转换为类型“:类型”是枚举,只能从相同的枚举类型或数字中分配

时间:2018-11-06 13:43:56

标签: typescript enums

我一直在使用TypeLite 1.8.4生成TypeScript定义和枚举。这对于TypeScript 2.0一直很好用,但是在一个带有Aurelia的新项目和一个旧版本的TypeScript 1.6.2中,出现了一个我以前从未见过的错误。

看到这个问题,为什么我们在前端生成一个新的枚举而不使用TypeLite的const版本:

TypeLite -> TypeScript Enum -> Runtime error: Uncaught ReferenceError: TSEnum is not defined

新错误:

  

无法将类型“”转换为类型“:类型”是枚举,只能是   从相同的枚举类型或数字分配

enter image description here

鉴于我们将枚举导出为const-> TestEnum.Zero应该始终为零?

https://www.typescriptlang.org/docs/handbook/enums.html#const-enums

以下不同代码示例之间的错误相同:

1:

namespace Library {
    export const enum TestEnum {
        Zero = 0,
        One = 1,
    }
}

export enum TestEnum2 {
    Zero = Library.TestEnum.Zero,
    One = Library.TestEnum.One
}

2:

export const enum TestEnum {
    Zero = 0,
    One = 1,
}

export enum TestEnum2 {
    Zero = TestEnum.Zero,
    One = TestEnum.One
}

3:

export enum TestEnum {
    Zero = 0,
    One = 1,
}


export enum TestEnum2 {
    Zero = TestEnum.Zero,
    One = TestEnum.One
}

0 个答案:

没有答案