flex <mx:array> bindable </mx:array>

时间:2010-06-10 15:25:51

标签: flex actionscript-3

我有一个非常简单的怀疑。我已使用<mx:Array> ... </mx:Array>声明了一个包含对象的数组。现在,如果我必须使它可绑定,我该怎么办?

提前致谢。

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可能不想使用数组。

即使是指定为“Bindable”的数组,如果更改或添加了任何项目,也不会抛出更新事件。这意味着如果您为某个组件(组合框,数据网格等)指定了数组的数组,则在更新源数组时组件不会更改。

您希望改为使用ArrayCollection,在这种情况下,您可以将其视为“带绑定的数组”。在分配数据提供者时,总是希望在数组上使用ArrayCollection。

答案 1 :(得分:0)

根据实时文档:

注意:在定义使用数组作为数据绑定表达式源的数据绑定表达式时,该数组应为ArrayCollection类型,因为ArrayCollection类在数组或数组元素更改为触发数据绑定时调度事件。例如,对ArrayCollection.addItem(),ArrayCollection.addItemAt(),ArrayCollection.removeItem()和ArrayCollection.removeItemAt()的调用都会触发数据绑定。

源:LiveDocs

所以你可能不希望绑定到数组。因此,假设您按照建议更改了数组集合,您将需要查看标记,我甚至不确定此标记是否是当前标记,但它用于处理您想要执行的操作。就个人而言,如果你像这样对你的AC进行硬编码,那么在ActionScript中执行它应该很容易,并且更容易设置绑定。