2016-03-30 108 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; 
}