今天看到这么一篇帖子,但是我对他的正确性表示怀疑。
因为,我就是用Array做的dataProvider,效果是可以得到更新的。
Array和ArrayConllection做dataProvider,做VO,各有优缺点,相比之下
我还是选择了Array。
因为
1)取数组下标的应用要比让数组扩展的应用更多
2)后台JavaBean也用的是数组[]
3)for循环数组似乎比for each ArrayConllection看起来更“傻瓜化”
4)给Array数组扩展长度,也可以变通实现,而且代价并不大
因为,我就是用Array做的dataProvider,效果是可以得到更新的。
Array和ArrayConllection做dataProvider,做VO,各有优缺点,相比之下
我还是选择了Array。
因为
1)取数组下标的应用要比让数组扩展的应用更多
2)后台JavaBean也用的是数组[]
3)for循环数组似乎比for each ArrayConllection看起来更“傻瓜化”
4)给Array数组扩展长度,也可以变通实现,而且代价并不大
今后如果有更进一步研究,再来贴。
转帖部分如下:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
- <mx:Script>
- <![CDATA[
- import mx.collections.ArrayCollection;
- [Bindable]
- public var myArray:Array=["北京","上海","深圳"];
- [Bindable]
- public var myCollection:ArrayCollection=new ArrayCollection(myArray);
- public function addCountryToArray(country:String):void{
- myArray.push(country);
- }
- public function addCountryToCollection(country:String):void{
- myCollection.addItem(country);
- }
- ]]>
- </mx:Script>
- <mx:TextInput id="countryTextInput" text="广州"/>
- <mx:Label text="Bound to Array (Raw Object)"/>
- <mx:Button click="addCountryToArray(countryTextInput.text)" label="Add Country to Array"/>
- <mx:List dataProvider="{myArray}" width="200"/>
- <mx:Label text="Bound to Collection"/>
- <mx:Button click="addCountryToCollection(countryTextInput.text)" label="Add Country to Collection"/>
- <mx:List dataProvider="{myCollection}" width="200"/>
- </mx:Application>