0

我在字符串变量中有className。我想在动态类上调用 addField 静态方法。

const className = "CustomClient"; // comes from dropdown.
CustomClient.addField();

CustomClient 是 ES7 类的名称。addField 是静态方法。我想动态调用 addField 。该类可以是 CustomClient、CustomContract 或 CustomUser 之一。

4

1 回答 1

2

当您想通过名称引用一个类时,它总是相同的 - 无论是实例化它,调用它的静态方法还是其他:您必须构建一个名称 → 类映射并查找它:

const classes = {
    "CustomClient": CustomClient,
    …
}
var classRef = classes[className];

在你的情况下,这将是

const classes = {CustomClient, CustomContract, CustomUser}; // shorthand notation
classes[className].addField();
于 2016-10-29T10:33:58.967 回答