Добавить статическое значение в перечисление в машинописи - PullRequest
1 голос
/ 25 июня 2019

Я создал перечисление, которое содержит ссылки, такие как:

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"

, но я не могу получить доступ кэта переменная, а также я не думаю, что она будет работать, потому что у меня есть сообщение, которое гласит:

В перечислении со строковыми значениями вычисленные значения не допускаются.

1 Ответ

0 голосов
/ 25 июня 2019

Замороженный объект функционально равен перечислению в TypeScript (исправьте меня, если я здесь не прав).Итак, это должно сделать:

const _BASELINK = "/MyPage/Frontend"

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

Object.freeze () берет любой объект и делает его только для чтения .Мы бы не хотели, чтобы кто-либо изменял enum.

`` - это удобный синтаксис, известный как шаблон строки, который можно использовать для форматирования строк во время выполнения.Это не нужно для этого, но мне нравится его использовать.

...