首页 > 解决方案 > 是否可以通过使用另一个类中的变量在枚举中拥有一个计算属性(调用一个函数)?

问题描述

我希望能够使用来自另一个类的信息为枚举设置新值。

我试图将枚举放在类中并调用每个属性以赋予它们新的值,但枚举的属性是只读的。找不到使其可写的方法。然后我将枚举放在一个单独的文件中,但不知道如何将值带到那里并使用它。

变量连接到 HTTP 客户端。

import {ClassVariable} from "...";

export enum myEnum {
 enum1=getValue("enum1"),
 . . . 
}

function getValue(text: string): number{
const classVariable: typeof ClassVariable; //error must be initialized
if(text==="enum1"){
  retun ClassVariable.getNumber();}
}

代码应该能够初始化枚举值

标签: angulartypescripthttpenums

解决方案


Javascript 中不存在枚举。

在 Typescript 中,它们随后被编译为 objects

此外,根据定义,枚举是常量。它们不应该被动态设置。

考虑到所有这些,您应该简单地使用一个对象,并Object.freeze()在完成设置后调用它。


推荐阅读