代码之家  ›  专栏  ›  技术社区  ›  Richard Walton

如何编写MXML代码将侦听器附加到自定义ActionScript类

  •  5
  • Richard Walton  · 技术社区  · 15 年前

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

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

    我该怎么做?干杯:)

    1 回复  |  直到 15 年前
        1
  •  8
  •   Rytmis    15 年前

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

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

    事件的名称必须与事件名称匹配(在您的示例中,PAGE_已更改常量)。

    编辑:如果在ActionScript而不是MXML中编写类,则可以将元数据标记直接应用于类:

    [Event(name="pageChanged", type="full.type.name.of.DataEvent")]
    public class MyClass extends WhateverItExtends