2016-03-30 105 views
0

将枚举器从JavaScript转换为TypeScript时,我必须添加自己的枚举 - myEnumType使用枚举作为类型/接口

如果我使用这种枚举的属性类型:

prop:myEnumType 

将预期值必须是myEnumType类型。

如何在TypeScript中声明一个属性,该属性将枚举本身表示为类型,而不是该类型的值?

我想通过接口属性将枚举作为类型公开。

回答

2

我想通过接口属性公开enum作为类型。

可以声明enum例如在vendor.d.ts

declare enum MyEnumType { 
    Member1, 
    Member2, 
} 

更新

,我怎么会那么声明枚举作为类型的属性,通过接口的财产?

interface Foo { 
    prop: MyEnumType 
} 
+0

我怎么会那么声明枚举作为类型的属性,通过接口属性? –

+0

查看更新。这是否回答你? – basarat

+0

的种类。我想了解你做了什么特别的事情来达到这个目标......对于'vendor.d.ts'文件有什么特别之处吗?或者添加'declare'改变枚举?你能解释一下这个解决方案吗? –

2

在myEnumType.ts类

export enum MyEnumType { 
    Member1, 
    Member2 
} 

在Foo.ts类

import { MyEnumType } from './myEnumType'; 
export interface Foo { 
    prop: MyEnumType; 
}