Vla*_*iuk 4 enums typescript angular
我有枚举:
export enum Roles {
user = 10,
editor = 30,
admin = 50,
}
Run Code Online (Sandbox Code Playgroud)
我将其导入到我的一项服务中:
import { Roles } from '../enums/roles';
Run Code Online (Sandbox Code Playgroud)
并在服务方法中使用:
this.writeRole(
Roles.user,
);
Run Code Online (Sandbox Code Playgroud)
当我在我的应用程序中调用此方法时,在控制台中出现错误: Cannot read property 'user' of undefined
但是当我简单地export在服务而不是导入中编写相同的枚举(但没有关键字)时,它的工作完美无缺。请解释一下,我做错了什么,为什么我不能像类一样导入枚举?
小智 5
此错误通常与您的 IDE 相关:让我们以 Visual Studio 代码为例(我正在使用它,显然您也在使用)
创建文件时,VSCode 会将其添加到其索引中。它允许您 CtrlP 打开文件。
但是当你移动它时,VSCode 不会重建它的索引。这意味着它从错误的位置导入您的文件。
它会按照定义检测它,不会抛出任何错误(因为对他来说,他的索引是最新的),但是在编译时问题会出现。
为避免这种情况,您可以通过重新加载 VSCode 来重建索引(关闭它,或者点击命令快捷键 (F1) 并键入“重新加载”),或者您可以使用诸如Move Typescript 之类的插件,这对于移动文件非常有用.
| 归档时间: |
|
| 查看次数: |
3385 次 |
| 最近记录: |