TypeScript,const /枚举类型

时间:2020-02-04 16:24:12

标签: angular typescript enums

我有以下const / enum:

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

我想给它一个类型。但是我可以给LENGTH_LIMIT以外的类型any吗?还是any在这里唯一可行?

4 个答案:

答案 0 :(得分:3)

1)这是一个对象,而不是枚举

2)为什么要给常量一个类型? Typescript已经为您推断出它们。它推断出这一点:

interface LenghtLimit {
    MAX_INPUT_CUSTOMER_FORM: string,
    MAX_INPUT_EMPLOYEE_FORM: string
}

答案 1 :(得分:0)

您可以使用TypeScript enums。然后,类型将是枚举本身:

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

并使用它:

interface CustomerForm {
    InputLimit: LENGTH_LIMIT
}

答案 2 :(得分:0)

您可以创建一个界面,例如:

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

然后:

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

答案 3 :(得分:0)

如果要声明为枚举:

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>
相关问题