首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >typescript无法识别导出的枚举

typescript无法识别导出的枚举
EN

Stack Overflow用户
提问于 2018-06-04 03:21:27
回答 2查看 5.7K关注 0票数 2

我使用的是TypeScript 2.5.3Angular 5

在一个单独的文件中声明了一个enum,如下所示:

代码语言:javascript
运行
复制
export enum eUserType {
  Driver = 1,
  Passenger = 2,
  User = 3
}

并在其他ts文件中导入/使用它,如下所示:

代码语言:javascript
运行
复制
import { eUserType } from '../CorrectFilePath/eUserType';
export class ViewsModule { 
  newVariable=eUserType.Driver;
}

虽然智能感知工作正常,但在运行时会出现错误:Cannot read property 'Driver' of undefined

我是不是误用了enum

更新:我不知道这是否相关。但是,目标模块是延迟加载的和一个PreloadingStrategy类(在模块的文件之外的文件中声明),我的enum应用于PreloadingStrategy类。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 02:29:21

这可能不会帮助您解决当前的问题(您的设置似乎很好),而且我对延迟加载还不够熟悉,因此无法判断,但是您正在使用1, 2, 3作为枚举值(可以省略),并且export const enum不会创建对象并尝试引用它,而是将值放在您应该使用它们的地方。我认为对于您的用例,这将是一个完美的选择:http://www.typescriptlang.org/docs/handbook/enums.html#const-enums

票数 3
EN

Stack Overflow用户

发布于 2018-06-04 03:25:40

尝尝这个,

代码语言:javascript
运行
复制
euserType = eUserType;
newVariable=euserType.Driver;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50670145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档