Как вызвать «это» из анонимного метода? (Flex, as) - PullRequest
0 голосов
/ 18 августа 2010

Это мой код:

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 ]

3 голосов
/ 18 августа 2010

сохранить this для некоторой переменной: _this = this в конструкторе, используйте _this. (работает в JavaScript)

2 голосов
/ 18 августа 2010

Вам не нужно, вы можете вызвать другую функцию

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...