例如,以下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()" />

我该怎么做?干杯:)

最佳答案

您必须使用元数据标记声明事件:

<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

关于apache-flex - 如何编码MXML以将监听器附加到自定义ActionScript类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/590118/

10-10 22:39