Как мне кодировать MXML, чтобы присоединить слушателя к пользовательскому классу ActionScript - PullRequest
5 голосов
/ 26 февраля 2009

Например, следующий скрипт MXML присоединяет слушателя к классу Button:

<mx:Button id="STACK" label="OVERFLOW" click="doStuff()"/>

У меня есть класс сценария настраиваемого действия, который запускает событие при обновлении значения, и я хочу иметь возможность прослушивать это событие в классе MXML:

Класс ActionScript:

public function set currentPage(newCurrentPage: Number) : void {
    _currentPage = newCurrentPage;

    dispatchEvent(new DataEvent(PAGE_CHANGED, true, false, _currentPage));
}

И я хочу иметь возможность сделать следующее в MXML:

<myClass:Class <...> pageChanged="doMoreStuff()" />

Как бы я это сделал? Приветствия:)

1 Ответ

8 голосов
/ 26 февраля 2009

Вы должны объявить событие с тегом метаданных:

<mx:Metadata>
[Event(name="pageChanged", type="full.type.name.of.DataEvent")]
</mx:Metadata>

Имя события должно совпадать с именем события (константа PAGE_CHANGED в вашем примере).

Редактировать: если вы пишете класс в ActionScript вместо MXML, вы можете применить тег метаданных непосредственно к вашему классу:

[Event(name="pageChanged", type="full.type.name.of.DataEvent")]
public class MyClass extends WhateverItExtends
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...