Binding to array object elements' demo

来源:互联网 发布:淘宝店铺数据监控 编辑:程序博客网 时间:2024/05/15 01:26

1.自定义对象类

package{public class UserVO{//--------------------------------------------------------------------------////  Constructor////--------------------------------------------------------------------------public function UserVO(){}//--------------------------------------------------------------------------////  Properties////--------------------------------------------------------------------------private var _username:String;public function get username():String{return _username;}public function set username(value:String):void{_username = value;}}}

2.MXML文件

<?xml version="1.0"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"xmlns:mx="library://ns.adobe.com/flex/mx"height="600" preinitialize="preinitializeHandler(event)"><fx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.events.FlexEvent;[Bindable]private var users:ArrayCollection = new ArrayCollection();protected function preinitializeHandler(event:FlexEvent):void{//initialize the datausers.addItem(new UserVO());}protected function changeBtn_clickHandler(event:MouseEvent):void{//change the item's username valuevar user:UserVO = new UserVO();user.username = "daniel";//reset the itemusers.setItemAt(user, 0);}]]></fx:Script><s:HGroup ><s:TextInput text="username:{UserVO(users.getItemAt(0)).username}" /><s:Button label="change" id="changeBtn" click="changeBtn_clickHandler(event)" /></s:HGroup></s:Application>




注意更新值时必须为某索引的项整个对象重新赋值,而不能只更新该项的字段值,如users.getItemAt(0).username = "daniel",这显示不了绑定的效果。