我创建了一个包含以下链接的枚举:
enum Links {
Home = "/MyPage/Frontend/Home.html",
AboutUs = "/MyPage/Frontend/AboutUs.html",
}
我想使链接的第一部分静止。
我试图创建一个静态变量
public static baselink = "/MyPage/Frontend/";
,然后在我的枚举中将其命名。
在我的枚举中,我想要类似的东西:
Home = baselink + "Home.html"
但是我无法访问该变量,而且我也认为它不起作用,因为我收到一条消息,内容是:
在具有字符串值的枚举中,不允许计算值。
答案 0 :(得分:0)
冻结的对象在功能上等同于TypeScript中的枚举(如果我错了,请纠正我)。因此,应该这样做:
const _BASELINK = "/MyPage/Frontend"
const Links = Object.freeze({
Home: `${_BASELINK}/Home.html`,
AboutUs: `${_BASELINK}/AboutUs.html`
})
Object.freeze()接受任何对象,并将其设置为 readonly 。我们不希望任何人修改“枚举”。
``是一种方便的语法,称为字符串模板,可用于在运行时格式化字符串。不需要它,但是我喜欢使用它。