Ответ 1
Мне не удалось найти ключевое слово export:
export enum EntityStatus {
New = 0,
Active = 1,
Archived = 2,
Trashed = 3,
Deleted = 4
}
Затем он работал, как ожидалось.
Я создал перечисление, но у меня возникли проблемы с импортом и использованием перечисления в VS15.
Это перечисление, которое содержится в enums.ts:
enum EntityStatus {
New = 0,
Active = 1,
Archived = 2,
Trashed = 3,
Deleted = 4
}
Visual Studio видит это перечисление, даже не импортируя, и поэтому не дает ошибки времени компиляции. Но во время выполнения выдается ошибка.
Cannot read property 'Archived' of undefined.
Итак, теперь я пытаюсь импортировать его, как я импортирую другие классы:
import {EntityStatus} from "../../core/enums";
Visual Studio теперь дает ошибку времени компиляции:
"...enums is not a module ..."
Итак, как мне импортировать перечисление?
Мне не удалось найти ключевое слово export:
export enum EntityStatus {
New = 0,
Active = 1,
Archived = 2,
Trashed = 3,
Deleted = 4
}
Затем он работал, как ожидалось.
Когда вы определите свой Enum в одном из файлов декларации TypeScript (*.d.ts
), вы получите ту же ошибку времени выполнения Cannot read property 'Foo' of undefined.
, поскольку эти файлы не переносятся в JavaScript.
Подробнее с примером приложения можно найти здесь.
Пожалуйста, попробуйте это. Это работает для меня
enums.ts
export enum Category {Cricket,Tennis,Golf,Badminton}
и в обязательном импортировании файла .ts, как показано ниже:
import {Category} from './enums'
Просто наткнулся на нечто подобное. В моем случае я должен был убедиться, что экспортируемое имя enum отличается от имени файла.
то есть.
Экспорт enum AccessMode в файл access-mode.ts завершится ошибкой. Экспортировать enum AccessMode в файл access-modes.ts будет работать.
Как сказал @Sachin Kalia, у меня были проблемы с импортом.
Я изменил это:
import {MessageAction, MessageDTO} from '../../../generated/dto';
на это:
import {MessageDTO} from '../../../generated/dto';
import {MessageAction} from '../../../generated/dto'
MessageAction - мое перечисление.