2010-08-18 8 views
0

Ceci est mon code:Comment appeler « ce » à partir d'une méthode anonyme (flex, as)

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"*/); 

       }); 
//..... 
} 

Quand j'appelle PopUpManager.removePopUp(/*need to put "this"*/);, je dois faire une référence à l'objet qui contient cette méthode (ce).

Donc ma question est: "Est-il possible de faire une référence à 'ce' mot-clé dans une méthode anonyme?"

+0

magasin cela une variable: _this = ce dans le constructeur, l'utiliser. – garik

Répondre

3

stocker this pour une variable: _this = this dans le constructeur, utilisez _this. (Cela fonctionne en javascript)

2

Vous n'avez pas, vous pouvez appeler une autre fonction

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); 
} 
Questions connexes