Flex绑定机制概念解析

开发 后端
本文向大家介绍一下Flex绑定机制的概念,在我们了解了事件机制后,那么理解Flex绑定就不难了,Flex绑定其实也是事件机制的运用。

你对Flex绑定机制的概念是否了解,这里和大家分享一下,Flex绑定机制的原理就是事件,在被Flex绑定的对象上增加了改变事件的监听,一旦某个被Flex绑定对象改变后,就会分发一个“propertyChange”事件。

Flex绑定机制

在我们了解了事件机制后,那么理解Flex绑定就不难了,Flex绑定其实也是事件机制的运用。

1.什么是Flex绑定

Flex绑定机制的原理就是事件,在被Flex绑定的对象上增加了改变事件的监听,一旦某个被Flex绑定对象改变后,就会分发一个“propertyChange”事件(默认的,也可以改变成自己定义的事件),在其他组件中,会有propertyChange的事件监听,当捕捉到该事件后,则会去更新组件的属性并显示。

Flex绑定的作用在于,将Flex中的变量、类、方法等与组件的值进行Flex绑定。例如,一个变量如果被Flex绑定后,那么引用该变量的组件的相关属性也会发生改变。我们用一个实例来表示

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx=http://www.adobe.com/2006/
  3. mxmllayout="absolute"xmlns:comp  
  4. > 
  5. <mx:Script> 
  6. <![CDATA[  
  7. importmx.controls.Alert;  
  8. [Bindable]  
  9. privatevarisSelected:Boolean;  
  10. privatefunctionclickHandler(e:MouseEvent){  
  11. //Alert.show(e.currentTarget.toString());  
  12. isSelected=isSelected?false:true;//这句话的意思是如果isSelected为true,改变它为false,  
  13. 如果它为false,改变它为true;  
  14. Alert.show(isSelected.toString());  
  15. }  
  16. ]]> 
  17. </mx:Script> 
  18. <mx:Buttonidmx:Buttonid="testBtn"click="clickHandler(event)"label="测试"/> 
  19. <mx:CheckBoxxmx:CheckBoxx="60"selected="{isSelected}"/> 
  20. </mx:Application> 
  21.  

 上述程序的效果就是,当点击button时,button不是直接改变checkbox的选中状态,而是改变isSelected这个变量,由于isSelected是被Flex绑定了的,那么会关联的改变CheckBox的选中状态。

这样看起来有些多此一举,完全可以直接改变checkbox的selected属性,我只是为了演示一下效果。如果说你的checkbox是动态构造的上百个,你不会去一个个的改变他吧。

◆因此,我们多数会将一个数据源进行Flex绑定声明,这样引用了这个数据源的控件,比如datagrid,在数据源发生了改变时,即使你不重新设置dataProvider,列表的数据也会刷新。当然,还有很多应用等待你去尝试。

如果这个代码中取消了[Bindable]的声明,会怎么样?isSelected不会改变了吗?

isSelected会改变,我们alert出来的结果也会显示结果改变了,但是checkbox的选择状态不会改变,因为当一个组件由创建到最终显示出来时是经过很多方法的,比如addChild,commitProperties,updateDisplayList等,updataDisplayList则是类似刷新显示效果一样的方法。

仅仅改变属性,而不去更新显示效果那么组件不会因为属性的改变而发生任何变化。

Flex绑定机制的原理也是利用的事件分发,更复杂的Flex绑定有待你去自己发现了。

【编辑推荐】

  1. Flex绑定机制用法揭秘
  2. Flex主题创建及支持的样式设置方式
  3. 全面认识Flex应用程序的六大元素
  4. 揭开Flex正则表达式的神秘面纱
  5. Flex数据绑定及其使用频繁的几种情况 
责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-06 10:15:35

Flex绑定

2010-07-28 13:40:44

Flex数据绑定

2010-07-27 15:14:35

Flex Datapr

2010-07-30 09:16:24

Flex数据绑定

2010-07-28 13:48:49

Flex数据绑定

2010-08-06 10:03:42

Flex事件

2010-07-28 13:31:10

Flex数据绑定

2010-07-28 13:11:13

Flex数据绑定

2010-08-09 15:09:27

Flex数据访问

2010-08-04 14:02:08

Flex事件机制

2010-07-30 09:08:21

Flex数据绑定

2010-08-12 11:34:15

Flex数据绑定

2010-08-05 15:06:19

Flex数据绑定

2010-08-13 14:05:24

Flex事件机制

2010-08-10 10:56:39

2023-10-20 09:51:00

编程开发

2010-09-27 13:26:31

JVM内存管理机制

2010-07-30 10:45:08

Flex数据绑定

2010-08-06 09:45:50

Flex事件机制

2010-08-12 15:35:44

Flex事件机制
点赞
收藏

51CTO技术栈公众号