我有以下const / enum:
export const LENGTH_LIMIT = {
MAX_INPUT_CUSTOMER_FORM: '500',
MAX_INPUT_EMPLOYEE_FORM: '500'
};
我想给它一个类型。但是我可以给LENGTH_LIMIT
以外的类型any
吗?还是any
在这里唯一可行?
答案 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>