绑定到arraycollection不起作用

时间:2010-05-23 14:34:58

标签: flex listener arraycollection bindable

我使用的是flex SDK 3.5。我有model.as并且在其中我有一个ArrayBollection(名称为arr_mod),它是Bindable。 从我的mxml链接到这个arr_mod三个地方:
1)在DataGrid中设置dataprovider = {arr_mode} ...
2)在Button中我以这种方式向arr_mod添加新项:mx:Button .. click =“{arr_mod.addItem(new item)}”


3)在textBox中我想添加mx:TextBox text =“{mySpecialCounterFunc(arr_mod)}” 请注意,在mxml的脚本中,arr_mod是Bindable以及model.as中的类定义

问题是,当点击按钮时,不会调用mySpecialCounterFunc!它应该被调用,因为我使用{}并且这应该监听arr_mod中的更改(在按钮中进行的更改应该导致添加新项目...而不是响应的侦听器)。
当DataGrid正确更新!
顺便说一句,如果我将arr_mod更改为简单的String或Int,它就可以工作..即调用mySpecialCounterFunc
为什么??

1 个答案:

答案 0 :(得分:1)

我知道我有时会遇到绑定到ArrayCollection的怪异行为。当某些东西不起作用时,我通常会从使用MXML绑定切换到为CollectionEvent.COLLECTION_CHANGE设置直接事件监听器,并在该事件处理程序中执行我想要做的事情。无论如何,我相信MXML绑定只是语法糖。