【问题标题】:Flex components property change eventFlex 组件属性更改事件
【发布时间】:2011-04-18 12:09:54
【问题描述】:

我有一个自定义组件,我已将一个数组集合绑定到它的属性之一:

<comp:MyComp id="comp" prop="{images}" />

images 是一个数组集合

在组件的代码中,我想知道每次图像更新道具时要监听哪个事件。我在道具上尝试了一个设置器,但设置器只在第一次设置道具时被调用一次。我尝试了收集事件,但我收到了在“添加”和“删除”事件之上发送的“更新”事件,我宁愿不必管理这些事件。那么每次组件属性被可绑定属性更新时是否会触发一个事件(flex 或其他)?

【问题讨论】:

    标签: apache-flex events properties components bindable


    【解决方案1】:

    我认为您想在 prop 属性上收听 collectionChange 事件。每次 ArrayCollection 中的元素发生变化时都会触发。

    请注意,更改图像来源不会触发 collectionChange 事件,也不会触发 prop setter。

    【讨论】:

    • 确实如此,但正如我在帖子中所说,每次更改都会触发几次不同的事件类型。我宁愿将与财产相关的事件作为财产。至于图片,它通过赋值来改变:images = collection
    • 您的原始帖子未指定“collectionChange”事件。即便如此,“images = collection”也不会触发 collectionChange 事件。向我们展示您对 images 属性的实现。你让它可绑定吗?你的 set 方法会触发 propertyChange 事件吗?
    • 确实是“图像 = 收藏”的问题。当我期待“添加”或“删除”时,这触发了“更新”类型的 CollectionChange 事件。所以解决方案是在图像上使用 addItem 或完全绕过它并将我的组件绑定到“集合”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多