我想在typescript中提取數字枚舉的enum成員,但window [name]確實返回一個未定義的對象。在Typescript中通過字符串創建枚舉實例
export enum MyEnum {
MemberOne = 0,
MemberTwo = 1
}
export class ObjectUtils {
public static GetEnumMembers(name: string): Array<string> {
let enumInstance = window[name];
return Object.keys(enumInstance).map((k: any) => enumInstance[k]).filter((x: any) => typeof (x) == "string");
}
}
所以現在我稱之爲GetEnumMembers方法是這樣的:
ObjectUtils.GetEnumMembers( 「MyEnum」);
enumInstance結果未定義。
編輯: 我想要與[「MemberOne」,「MemberTwo」]返回一個字符串數組
請提供一個最簡單但完整的示例。提供的代碼片段使問題得不到解答。 –
你能確定無論'window [name]是什麼,它不是'undefined'? – evolutionxbox
'window.MyEnum'未定義,因爲導出不存儲在'window'中。檢查TypeScript編譯器生成的JavaScript代碼。 –