машинопись не распознает экспортированный enum - PullRequest
0 голосов
/ 03 июня 2018

Я использую TypeScript 2.5.3 и Angular 5.
. В отдельном файле объявлено enum, например:

export enum eUserType {
  Driver = 1,
  Passenger = 2,
  User = 3
}

И импортируйте / используйте его в других ts файл выглядит так:

import { eUserType } from '../CorrectFilePath/eUserType';
export class ViewsModule { 
  newVariable=eUserType.Driver;
}

Пока intellisense работает нормально, во время выполнения возникает ошибка: Cannot read property 'Driver' of undefined.
Неправильно ли я использую enum или что?

Обновление: я не знаю, связано ли это или нет.но, Целевой модуль загружен с отложенной загрузкой и используется класс PreloadingStrategy (объявленный в файле, отличном от файла модуля), а мой enum применен к PreloadingStrategy классу.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Это, вероятно, не поможет вам решить текущую проблему (ваши настройки кажутся нормальными), и я недостаточно знаком с отложенной загрузкой, чтобы иметь возможность определить, но вы используете 1, 2, 3 в качестве значений перечисления (который может быть опущен), и export const enum не создаст объект и не попытается ссылаться на него, но фактически поместит значения туда, где вы их используете.Я думаю, что для вашего случая использования, это было бы идеально подходит: http://www.typescriptlang.org/docs/handbook/enums.html#const-enums

0 голосов
/ 03 июня 2018

Попробуйте,

euserType = eUserType;
newVariable=euserType.Driver;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...