typescript - 将静态值添加到打字稿中的枚举
问题描述
我创建了一个包含以下链接的枚举:
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 中的枚举(如果我在这里错了,请纠正我)。所以,这应该这样做:
const _BASELINK = "/MyPage/Frontend"
const Links = Object.freeze({
Home: `${_BASELINK}/Home.html`,
AboutUs: `${_BASELINK}/AboutUs.html`
})
Object.freeze() 接受任何对象并将其设为 readonly。我们不希望任何人修改“枚举”。
`` 是一种方便的语法,称为字符串模板,可用于在运行时格式化字符串。这不是必需的,但我喜欢使用它。
推荐阅读
- flutter - 如何在颤动中显示来自 path_provider 的视频?
- ruby-on-rails - 为什么 Heroku 安装我不使用的 gem?
- java - SocketException:FTP 上传时连接重置
- c++ - C++游戏中的UDP通信问题
- android - 评分栏在 android 中有 10 颗星
- npm - npm run scripts 运行无限时间
- javascript - × TypeError: Object(...) 不是函数
- javascript - Sanic Websocket 异步管理
- reactjs - 在设备视图之外反应原生模态内容
- django - Gunicorn 没有开始抛出 gunicorn.service:失败,结果为“退出代码”。错误