我在我的Typescript文件中声明了以下枚举:
export const enum INPUT_PATTERNS{
ALL = ".*",
ONLY_NUMBERS = "[0-9]*"
}
在编译期间,我继续收到以下错误消息:
在'const'enum声明中,成员初始值设定项必须是常量表达式。
我已使用常量值初始化枚举,所以我不明白这里有什么问题?
其次,如果我从枚举中删除const标识符,如下所示:
export enum INPUT_PATTERNS{
ALL = ".*",
ONLY_NUMBERS = "[0-9]*"
}
然后我收到以下错误:
类型'“。”'不能分配给'INPUT_PATTERNS'。
输入“[0-9] ”'不能分配给'INPUT_PATTERNS'。
答案 0 :(得分:1)
你可以这样做:
export enum INPUT_PATTERNS{
ALL = <any>".*",
ONLY_NUMBERS = <any>"[0-9]*"
}
答案 1 :(得分:1)
Enums允许我们定义一组命名的数字常量。 http://www.typescriptlang.org/docs/handbook/enums.html
您可以使用命名空间和常量变量的组合:
export namespace INPUT_PATTERNS {
export const ALL = ".*";
export const ONLY_NUMBERS = "[0-9]*";
}