apache-flex - 如何编写 MXML 以将监听器附加到自定义 ActionScript 类

标签 apache-flex actionscript event-handling

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

相关文章:

web-services - 带参数的 actionscript 3 soap webservices 调用方法

actionscript-3 - 如何以编程方式访问显示对象的所有子对象?

javascript - 为什么 event.ctrlKey 返回 undef?

ios - Flash Builder - iPad 3 分辨率

javascript - 动态加载 swf 后无法与 Flex 中的 Javascript 进行通信

apache-flex - URLLoader.load 连接的超时时间是多少?

javascript - 使用 ExternalInterface 从 JavaScript 调用 ActionScript 3.0/Flash 中的函数

actionscript - 在 Actionscript 3 中模拟鼠标事件

javascript - JavaScript 如何识别事件对象变量?

javascript - stopPropagation native 事件与 JavaScript 事件