簡體   English   中英

TypeScript,const/enums 類型

[英]TypeScript, const/enums type

我有以下常量/枚舉:

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

我想給它一個類型。 但是我可以給LENGTH_LIMIT一個除了any的類型嗎? 或者是any只有這將在這里工作的事情嗎?

1) 那是一個對象,而不是一個枚舉

2)為什么要給常量一個類型? Typescript 已經為你推斷出來了。 它推斷出:

interface LenghtLimit {
    MAX_INPUT_CUSTOMER_FORM: string,
    MAX_INPUT_EMPLOYEE_FORM: string
}

您可以為此使用TypeScript 枚舉 然后,類型將是枚舉本身:

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

並使用它:

interface CustomerForm {
    InputLimit: LENGTH_LIMIT
}

您可以創建一個接口,例如:

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

然后:

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

如果你想聲明為枚舉:

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

如果要在 HTML 模板中使用 LENGTH_LIMIT 類型的變量,則必須為其分配:

LengthLimitOptions: any = LENGTH_LIMIT;

在 HTML 中用作:

<span>{{LengthLimitOptions.MAX_INPUT_EMPLOYEE_FORM}}</span>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM