TypeScript 1.6.2 -> Невозможно преобразовать тип '' в тип '': тип '' является перечислением и может быть назначен только из того же типа перечисления или числа - PullRequest
0 голосов
/ 06 ноября 2018

Я использую TypeLite 1.8.4 для генерации определений и перечислений TypeScript. Это хорошо работает для TypeScript 2.0 <, но в новом проекте с Aurelia и старой версией TypeScript 1.6.2 я получаю сообщение об ошибке, которого раньше не видел. </p>

Посмотрите на этот вопрос, почему мы генерируем новый enum во внешнем интерфейсе и не используем версию const из TypeLite:

TypeLite -> TypeScript Enum -> Ошибка времени выполнения: Uncaught ReferenceError: TSEnum не определен

Новая ошибка:

Невозможно преобразовать тип '' в тип '': Type '' является enum и может быть только присваивается из того же типа перечисления или числа

enter image description here

Учитывая, что мы экспортируем enum как const -> TestEnum.Zero всегда должно быть числом 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...