TypeScript, тип const / enums - PullRequest
       0

TypeScript, тип const / enums

0 голосов
/ 04 февраля 2020

У меня есть следующее const / enum:

export const LENGTH_LIMIT = {
  MAX_INPUT_CUSTOMER_FORM: '500',
  MAX_INPUT_EMPLOYEE_FORM: '500'
};

Я хотел бы дать ему тип. Но могу ли я дать LENGTH_LIMIT тип помимо any? Или any единственная вещь, которая будет работать здесь?

Ответы [ 4 ]

3 голосов
/ 04 февраля 2020

1) Это объект, а не перечисление

2) Почему вы хотите дать константе тип? Typescript уже выводит их для вас. Это выводит это:

interface LenghtLimit {
    MAX_INPUT_CUSTOMER_FORM: string,
    MAX_INPUT_EMPLOYEE_FORM: string
}
0 голосов
/ 04 февраля 2020

Если вы хотите объявить как enum:

export enum LENGTH_LIMIT {
  MAX_INPUT_CUSTOMER_FORM = '500',
  MAX_INPUT_EMPLOYEE_FORM = '500',
}

Если вы хотите использовать переменную типа LENGTH_LIMIT в шаблоне HTML, вы должны назначить ее:

LengthLimitOptions: any = LENGTH_LIMIT;

И в HTML использовать как:

<span>{{LengthLimitOptions.MAX_INPUT_EMPLOYEE_FORM}}</span>
0 голосов
/ 04 февраля 2020

вы можете создать интерфейс, например:

interface LengthLimit {
    [name: string || any]: string
}

, затем:

export const LENGTH_LIMIT : LengthLimit = {
  MAX_INPUT_CUSTOMER_FORM: '500',
  MAX_INPUT_EMPLOYEE_FORM: '500'
};
0 голосов
/ 04 февраля 2020

Вы можете использовать для этого перечисления TypeScript . Тогда типом будет само перечисление:

export enum LENGTH_LIMIT {
  MAX_INPUT_CUSTOMER_FORM = '500',
  MAX_INPUT_EMPLOYEE_FORM = '500',
}

И использовать его:

interface CustomerForm {
    InputLimit: LENGTH_LIMIT
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...