如何从匿名方法调用“this”?(flex,as)

时间:2010-08-18 09:02:50

标签: actionscript-3 flex4

这是我的代码:

public function setPaneContent(names : Array, parent : AbstractPane) : void  {
//....

 okButton.addEventListener(MouseEvent.CLICK, function okMouseClickHandler(e : Event) : void {
                parent.addNewPane(valuesPane, parent);


                    PopUpManager.removePopUp(/*need to put "this"*/);

                });
 //.....
}

当我调用PopUpManager.removePopUp(/*need to put "this"*/);时,我需要在包含此方法的对象(this)上进行引用。

所以我的问题是:“是否可以在匿名方法中使用'this'关键字进行引用?”

2 个答案:

答案 0 :(得分:3)

this存储到构造函数中的某个变量:_this = this,使用_this。 (它适用于javascript)

答案 1 :(得分:2)

您没有,您可以调用其他功能

public function setPaneContent(names : Array, parent : AbstractPane) : void  
{

     okButton.addEventListener(MouseEvent.CLICK, 
                    function okMouseClickHandler(e : Event) :void 
         {
            parent.addNewPane(valuesPane, parent); 

            // call the remove function where you can reference "this"
            remove();
         });
         //.....
}

private function remove():void
{ 
    PopUpManager.removePopUp(this);
}