【问题标题】:Add static value to an enum in typescript将静态值添加到打字稿中的枚举
【发布时间】:2019-11-07 02:58:07
【问题描述】:

我创建了一个包含以下链接的枚举:

enum Links {
  Home = "/MyPage/Frontend/Home.html",
  AboutUs = "/MyPage/Frontend/AboutUs.html",
}

我想将链接的第一部分设为静态。

我已经尝试创建一个静态变量

public static baselink = "/MyPage/Frontend/";

然后在我的 enums.ts 中调用它

在我的 enum.ts 中,我想要类似:

Home = baselink + "Home.html"

但我无法访问该变量,而且我认为它不会起作用,因为我有一条消息说:

在具有字符串值的枚举中不允许​​计算值。

【问题讨论】:

标签: typescript enums static-variables


【解决方案1】:

冻结的对象在功能上等同于 TypeScript 中的枚举(如果我在这里错了,请纠正我)。所以,应该这样做:

const _BASELINK = "/MyPage/Frontend"

const Links = Object.freeze({
    Home: `${_BASELINK}/Home.html`,
    AboutUs: `${_BASELINK}/AboutUs.html`
})

Object.freeze() 获取任何对象并使其只读。我们不希望任何人修改“枚举”。

`` 是一种方便的语法,称为字符串模板,可用于在运行时格式化字符串。这不是必需的,但我喜欢使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2019-03-04
    • 1970-01-01
    相关资源
    最近更新 更多