我想根据函数参数从 addEventListener 内部动态调用函数名。
打电话newMod("moduleA", "A");
但是我收到错误TypeError: Error #1006: value is not a function.
关于如何动态调用此函数的任何建议。我已经看到了一些使用 an 的答案,instance[function]()
但不确定它如何适用于听众,
public function newMod(mdLd,evtTyp,param):void {
info = ModuleManager.getModule(mdLd);
var mevth:String = ("modEventHandler"+(evtTyp));
info.addEventListener(ModuleEvent.READY, function(e:ModuleEvent){
this[mevth](e, param)});
info.load(null, null, null, moduleFactory);
}
private function modEventHandlerA(e:ModuleEvent):void {
vg1.addElement(info.factory.create() as IVisualElement);
}
[编辑] 看起来像是改变了对this[mevth]()
作品的调用,但我似乎无法根据需要传递额外的参数,即this[mevth](parm)
欢迎任何建议。
我还更新了侦听器以包含一个函数调用,但仍然没有乐趣