我在字符串变量中有className。我想在动态类上调用addField静态方法。
const className = "CustomClient"; // comes from dropdown.
CustomClient.addField();
CustomClient是ES7类的名称。 addField是静态方法。我想动态调用addField。该类可以是CustomClient,CustomContract或CustomUser之一。
答案 0 :(得分:2)
当你想通过名称引用一个类时,它总是一样的 - 无论是实例化它,调用它上面的静态方法还是别的东西:你必须建立一个名称→类映射并查找它:
const classes = {
"CustomClient": CustomClient,
…
}
var classRef = classes[className];
在你的情况下,它将是
const classes = {CustomClient, CustomContract, CustomUser}; // shorthand notation
classes[className].addField();