我想为转发器内的每个组件添加一个事件监听器,但不知道如何。这是我尝试过的一些代码:
<mx:Repeater id="rp" dataProvider="{dataProvider}" width="100%">
<mx:Button id="attach" creationComplete="addListeners(attach[rp.currentIndex])"/>
</mx:Repeater>
这不起作用。在完成按钮创建之前,直到转发器完成而不是(如我所料),才会调用creationComplete。我不知道如何做到这一点。
顺便说一句 - 我也尝试将父组件上的creationComplete放到转发器上,但只会在第一次呈现组件时调用(转发器内的数据有时会发生变化),这样就不起作用了。
答案 0 :(得分:1)
如果您正在使用元数据中定义的事件,则可以像添加click =“myClickHandler(event)”一样简单。你也可以这样做:
<yourNS:YourComponent id="foo>
<creationComplete>
<fx:Script>
(foo[yourRepeater.currentIndex] as EventDispatcher).addEventListener('the event', yourEventHandler);
</fx:Script>
</creationComplete>
</yourNS:YourComponent >