关于ObjectProxy

该类提供跟踪对此代理管理的项目进行的更改的功能。任何数量的对象都可使用 addEventListener() 方法“侦听”对此对象的更改。

此类为代理类。可以监听代理的Object对象是否进行更改:

<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"
               creationComplete="initApp();">
    <s:layout>
        <s:BasicLayout/>
    </s:layout>
  
    <s:Button x="139" y="444" label="按钮" click="button1_clickHandler(event)"/>
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;
            import mx.events.PropertyChangeEvent;
            import mx.utils.ObjectProxy;
            private var obj:Object;
            private var o:ObjectProxy;
            private function initApp():void
            {
                obj=new Object();           
                o=new ObjectProxy(obj);
                o.name="@";
                o.age=18;
                o.aa="sa";
                o.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,ChangeHandler);
            }
  
            protected function button1_clickHandler(event:MouseEvent):void
            {
                o.name="ok";
            }
            private function ChangeHandler(e:PropertyChangeEvent):void
            {
                trace("发生变化");
            }
  
        ]]>
    </fx:Script>
</s:Application>

也可以用于ArrayCollection里面的设置:

private var dataArr:ArrayCollection=new ArrayCollection
            ([
                new ObjectProxy(Object({location:"CF",id:"data/gril.png", name:"刘德华", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"10" ,strongth:"100", block:"100", save:"0.5"})),
                new ObjectProxy(Object({location:"SS",id:"data/boy.png", name:"成龙", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"20" ,strongth:"100", block:"100", save:"0.5"})),
                new ObjectProxy(Object({location:"RMF",id:"data/gril.png", name:"李连杰", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"30" ,strongth:"100", block:"100", save:"0.5"})),
                new ObjectProxy(Object({location:"RCM",id:"data/gril.png", name:"张学友", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"40" ,strongth:"100", block:"100", save:"0.5"})),
                new ObjectProxy(Object({location:"LCM",id:"data/boy.png", name:"张国荣", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"50" ,strongth:"100", block:"100", save:"0.5"})),
                new ObjectProxy(Object({location:"LMF",id:"data/gril.png", name:"李宗盛", skill:"data/idea.png" ,fight:10000, grade:"100" ,shot:"100", onbreak:"100" ,speed:"60" ,strongth:"100", block:"100", save:"0.5"}))
            ]);

posted on 2012-04-30 22:09  ycty  阅读(1032)  评论(0编辑  收藏  举报