我有一个看起来像这样的 ExtJs 类:
Ext.define("RuleExecutor", {
singleton: true,
displayMessage: function(msg) {
Ext.Msg.alert('Popup Message', msg[0]);
},
disableById: function(field) {
Ext.getCmp(field).setDisabled(true);
},
//more functions are here...
});
现在我得到一个字符串 => str
,其中包含我需要运行的方法名称。我需要调用str 中的字符串指定的RuleExecutor 中的方法
该方法被正确调用,但参数未传递。
像这样:
//arguments is an array
function RunRule(str, arguments) {
//I tried this....
var fn = RuleExecutor[str];
fn(arguments)
//This doesn't work either..
RuleExecutor[str].apply(this, arguments);
}