Neomaster Asked:2023-09-27 06:49:11 +0800 CST2023-09-27 06:49:11 +0800 CST 2023-09-27 06:49:11 +0800 CST 角度,NgRx。如何使枚举在浏览器控制台中显示为字符串而不是数字? 772 角度,NgRx。如何使枚举在浏览器控制台中显示为字符串而不是数字? 可用的: serverStatus: ServerStatus enum ServerStatus { Connected, ... } 我是这样理解的 {serverStatus: 0} 它需要像这样 {serverStatus: Connected} 是否有某种全球环境可以做到这一点?ServerStatus[serverStatus] 选项不感兴趣,因为 需要为整个应用程序进行配置 angular 1 个回答 Voted Best Answer Alexander Pavlov 2023-09-27T08:30:36+08:002023-09-27T08:30:36+08:00 enum S {A,B} 在JS中编译后变成 { "0": "A", "1": "B", "A": 0, "B": 1 } 并且没有任何设置可以改变这一点 如果还不算太晚,您可以更改枚举 enum S { Connected='Connected' } 它将编译为 { "Connected": "Connected" } 并输出需要的内容 这是编译器选项的完整列表,可以在一定程度上改变其行为https://www.typescriptlang.org/tsconfig 有一个与您需要的“类似” -preserveConstEnums,但它不会改变运行时的行为。 这本质上使此类常量枚举仅成为源代码功能,没有运行时跟踪。
在JS中编译后变成
并且没有任何设置可以改变这一点
如果还不算太晚,您可以更改枚举
它将编译为
并输出需要的内容
这是编译器选项的完整列表,可以在一定程度上改变其行为https://www.typescriptlang.org/tsconfig
有一个与您需要的“类似” -preserveConstEnums,但它不会改变运行时的行为。