gpt4 book ai didi

apache-flex - Flex 中继器和事件监听器

转载 作者:行者123 更新时间:2023-12-04 03:23:19 24 4
gpt4 key购买 nike

乍一看,Repeater 控件看起来非常强大,但现在我有了新的想法。

手头的问题:向子级添加事件监听器

Repeater 对象绑定(bind)到 ArrayCollection 并对其进行迭代,为每个项目创建新的 Vbox 子项。现在,对于每个 child ,Repeater 对象将触发一个“重复”事件,我很想在其中添加事件监听器(用于鼠标事件)。到目前为止没有问题,但是,当 ArrayCollection 更改时会发生什么,我应该如何删除所有旧子级的 EventListeners ?是否有一个包含我在文档中跳过的 Vbox 实例的子数组?当事件监听器所附加的对象被销毁时,它们是否得到了很好的清理?

-C 编码器在 flex/actionscript 中丢失

最佳答案

我会完全避免使用中继器。从性能的角度来看,它们非常慢,因为项目经常被销毁和重新创建。您最好使用基于列表的控件并实现 itemRenderer。

默认情况下,事件监听器是强引用,因此如果您不删除事件监听器,则会阻止对象被垃圾收集。您可以在 addEventListener 中使用名为“weakReference”的可选第五个参数,并将该值设置为 true 以添加不会阻止 GC 的事件监听器。

为了更好地处理 itemRender 组件中的事件,您可以实现 IDropInListItemRenderer 接口(interface)。这将使您能够访问“listData”,它具有“owner”属性,该属性是实际的 List 对象本身。在您的 itemRenderer 中,通过所有者调度包含必要数据的自定义事件。如果在创建 List 控件后向其添加事件监听器,则可以在包含该控件的组件中进行事件处理。

关于apache-flex - Flex 中继器和事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/494693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com