在 JavaScript / ES7 class 中动态调用静态方法
Dynamically calling a static method in a JavaScript / ES7 class
我在字符串变量中有 class名称。我想在动态 class.
上调用 addField 静态方法
const className = "CustomClient"; // comes from dropdown.
CustomClient.addField();
CustomClient 是 ES7 的名称class。 addField 是静态方法。我想动态调用 addField。 class 可以是 CustomClient、CustomContract 或 CustomUser 之一。
当你想通过名称引用一个 class 时总是一样的——无论是实例化它,调用它的静态方法还是其他什么:你必须建立一个名称 → class 地图和查找:
const classes = {
"CustomClient": CustomClient,
…
}
var classRef = classes[className];
在你的情况下,它将是
const classes = {CustomClient, CustomContract, CustomUser}; // shorthand notation
classes[className].addField();
我在字符串变量中有 class名称。我想在动态 class.
上调用 addField 静态方法const className = "CustomClient"; // comes from dropdown.
CustomClient.addField();
CustomClient 是 ES7 的名称class。 addField 是静态方法。我想动态调用 addField。 class 可以是 CustomClient、CustomContract 或 CustomUser 之一。
当你想通过名称引用一个 class 时总是一样的——无论是实例化它,调用它的静态方法还是其他什么:你必须建立一个名称 → class 地图和查找:
const classes = {
"CustomClient": CustomClient,
…
}
var classRef = classes[className];
在你的情况下,它将是
const classes = {CustomClient, CustomContract, CustomUser}; // shorthand notation
classes[className].addField();