Flex绑定机制是什么

这篇文章主要介绍Flex绑定机制是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

十年的麻阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整麻阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“麻阳网站设计”,“麻阳网站推广”以来,每个客户项目都认真落实执行。

Flex绑定机制

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

1.什么是Flex绑定

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

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

<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx=http://www.adobe.com/2006/mxmllayout="absolute"xmlns:comp  > <mx:Script> <![CDATA[  importmx.controls.Alert;  [Bindable]  privatevarisSelected:Boolean;  privatefunctionclickHandler(e:MouseEvent){  //Alert.show(e.currentTarget.toString());  isSelected=isSelected?false:true;//这句话的意思是如果isSelected为true,改变它为false,  如果它为false,改变它为true;  Alert.show(isSelected.toString());  }  ]]> </mx:Script> <mx:Buttonidmx:Buttonid="testBtn"click="clickHandler(event)"label="测试"/> <mx:CheckBoxxmx:CheckBoxx="60"selected="{isSelected}"/> </mx:Application>

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

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

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

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

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

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

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

以上是“Flex绑定机制是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!

分享名称:Flex绑定机制是什么
分享网址:https://www.cdcxhl.com/article6/ppjeig.html

成都网站建设公司_创新互联,为您提供云服务器面包屑导航品牌网站设计响应式网站微信公众号电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司