TypeScript动态生成字符串名称到类映射对象

时间:2016-05-14 21:49:04

标签: typescript

这是TypeScript map function to change property type的后续问题。

如果我有以下

class A {  }
class B {  }
var var1 = [{ path: "aa", comp: "A" }, { path: "b", comp: "B" }];

有没有办法以编程方式生成像这样的映射对象

var nameToClassMapping = {
    A: A,
    B: B
};

而不是硬编码?

1 个答案:

答案 0 :(得分:1)

您可以使用a decorator执行此操作:

var nameToClassMapping = {};

function myDecorator(target: any) {
    nameToClassMapping[target.name] = target;
}

@myDecorator
class A { }

我还没有对它进行测试,但它应该可行,或至少给你一个方法。