加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中监听变量是否发生改变的方法

发布时间:2020-12-15 04:26:20 所属栏目:百科 来源:网络整理
导读:方式一:使用 ObjectProxy ? xml ? version = "1.0" ? encoding = "utf-8" ? ? mx:Application ? xmlns:mx = "http://www.adobe.com/2006/mxml" ? layout = "absolute" ? minWidth = "955" ? minHeight = "600" ? ????????????????? creationComplete = "ini
方式一:使用ObjectProxy


 
 
  1. <?xml?version="1.0"?encoding="utf-8"?>?
  2. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?minWidth="955"?minHeight="600"?
  3. ?????????????????creationComplete="init()">?
  4. ????<mx:Script>?
  5. ????????<![CDATA[?
  6. ????????????import?mx.controls.Alert;?
  7. ????????????import?mx.events.FlexEvent;?
  8. ????????????import?mx.events.PropertyChangeEvent;?
  9. ????????????import?mx.utils.ObjectProxy;?
  10. ?????????????
  11. ????????????private?var?objectProxy:ObjectProxy=new?ObjectProxy();?
  12. ????????????protected?function?init():void?
  13. ????????????{?
  14. ????????????????objectProxy.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,?changeMethod);??
  15. ????????????}?
  16. ?????????????
  17. ????????????private?function?changeMethod(evt:PropertyChangeEvent):void?{?
  18. ????????????????if(evt.newValue){?//值有改变?
  19. ??????????????????trace("变化的属性名称:"+evt.property.toString()+";发生更改的对象(在监听对象的时候特别有用):"+evt.source+"|旧值:"+evt.oldValue+"|新值:"+evt.newValue);?
  20. ????????????????}?
  21. ????????????}??
  22. ?????????????
  23. ????????????public?function?buttonClick():void{?
  24. ????????????????objectProxy.name=new?Date().getTime();?
  25. ????????????}?
  26. ?????????????
  27. ????????]]>?
  28. ????</mx:Script>?
  29. ????<mx:Button?label="点击更改变量的值"?click="buttonClick()"/>?
  30. </mx:Application>?

变化的属性名称:name;发生更改的对象(在监听对象的时候特别有用):[object Object]|旧值:null|新值:1363690634734
变化的属性名称:name;发生更改的对象(在监听对象的时候特别有用):[object Object]|旧值:1363690634734|新值:1363690638142
变化的属性名称:name;发生更改的对象(在监听对象的时候特别有用):[object Object]|旧值:1363690638142|新值:1363690648282
变化的属性名称:name;发生更改的对象(在监听对象的时候特别有用):[object Object]|旧值:1363690648282|新值:1363690650001
变化的属性名称:name;发生更改的对象(在监听对象的时候特别有用):[object Object]|旧值:1363690650001|新值:1363690652340

官方地址:http://livedocs.adobe.com/flex/3_cn/mx/events/PropertyChangeEvent.html

方式二:使用BindingUtils 
 
 
  1. <?xml?version="1.0"?encoding="utf-8"?>?
  2. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?minWidth="955"?minHeight="600"?
  3. ?????????????????creationComplete="init()">?
  4. ????<mx:Script>?
  5. ????????<![CDATA[?
  6. ????????????import?mx.binding.utils.BindingUtils;?
  7. ????????????import?mx.controls.Alert;?
  8. ????????????import?mx.events.FlexEvent;?
  9. ????????????import?mx.events.PropertyChangeEvent;?
  10. ????????????import?mx.utils.ObjectProxy;?
  11. ?????????????
  12. ????????????[Bindable]?//必须的,不然检测不到变化?
  13. ????????????public?var?object:String="123";?
  14. ????????????protected?function?init():void?
  15. ????????????{?
  16. ????????????????BindingUtils.bindSetter(changeMethod,this,'object');?
  17. ????????????}?
  18. ?????????????
  19. ????????????private?function?changeMethod(str:String):void?{?
  20. ????????????????trace("changeMethod有变化,变化后的值为:"+str);?
  21. ????????????}??
  22. ?????????????
  23. ????????????public?function?buttonClick():void{?
  24. ????????????????object=new?Date().getTime()+"";?
  25. ????????????????trace("当前时间字符串:"+object);?
  26. ????????????}?
  27. ?????????????
  28. ????????????/*?日志输出?
  29. ????????????changeMethod有变化,变化后的值为:123?
  30. ????????????changeMethod有变化,变化后的值为:1364007051727?
  31. ????????????当前时间字符串:1364007051727?
  32. ????????????changeMethod有变化,变化后的值为:1364007052587?
  33. ????????????当前时间字符串:1364007052587??
  34. ????????????*/?
  35. ?????????????
  36. ????????]]>?
  37. ????</mx:Script>?
  38. ????<mx:Button?label="点击更改变量的值"?click="buttonClick()"/>?
  39. </mx:Application>?

官方地址:http://livedocs.adobe.com/flex/3_cn/langref/mx/binding/utils/BindingUtils.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读