在Flex数据绑定中使用数组

本文和大家重点讨论一下如何在Flex数据绑定中使用数组,在使用数组进行工作时,比如Array或者ArrayCollection对象,可以把数组作为Flex数据绑定表达式的源或目的。

主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站开发、程序开发、微网站、小程序定制开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都做网站、网站制作、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。

在Flex数据绑定中使用数组

在使用数组进行工作时,比如Array或者ArrayCollection对象,可以把数组作为Flex数据绑定表达式的源或目的。
注意:当使用数组作为绑定源时,应该使用ArrayCollection类型的数组,因为ArrayCollection类在数组或数组元素发生变化时能够发出事件来触发Flex数据绑定。比如,对ArrayCollection.addItem(),ArrayCollection.addItemAt(),ArrayCollection.removeItem(),以及ArrayCollection.removeItemAt()方法的调用都会触发Flex数据绑定。

绑定到数组

通常将数组绑定给Flex控件的dataProvider属性,下面范例说明将数组绑定用于List控件:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. importmx.collections.ArrayCollection;  
  6. [Bindable]  
  7. publicvarmyAC:ArrayCollection=newArrayCollection([  
  8. "One","Two","Three","Four"]);  
  9. [Bindable]  
  10. publicvarmyAC2:ArrayCollection=newArrayCollection([  
  11. "Uno","Dos","Tres","Quatro"]);  
  12. ]]> 
  13.  
  14. label="ChangeElement" 
  15. click="myAC[0]='modOne'"/> 
  16.  
  17. label="AddElement" 
  18. click="myAC.addItem('newelement');"/> 
  19.  
  20. label="RemoveElement0" 
  21. click="myAC.removeItemAt(0);"/> 
  22.  
  23. label="ChangeArrayCollection" 
  24. click="myAC=myAC2"/> 
  25.  

 这个例子定义了一个ArrayCollection对象,然后将List控件的dataProvider属性设置为对这个ArrayCollection的Flex数据绑定。当修改ArrayCollection对象中的元素,或者修改对ArrayCollection对象的引用,都会触发Flex数据绑定。

绑定到数组中的元素

可以使用数组中的单个元素作为Flex数据绑定源,如下例所示:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5. importmx.collections.ArrayCollection;  
  6. [Bindable]  
  7. publicvarmyAC:ArrayCollection=newArrayCollection([  
  8. "One","Two","Three","Four"]);  
  9. [Bindable]  
  10. publicvarmyAC2:ArrayCollection=newArrayCollection([  
  11. "Uno","Dos","Tres","Quatro"]);  
  12. ]]> 
  13.  
  14. label="ChangeElement" 
  15. click="myAC[0]='newOne'"/> 
  16. label="ChangeArrayCollection" 
  17. click="myAC=myAC2"/> 
  18.  

 如果通过方括号语法[]来指定数组元素作为Flex数据绑定表达式的源,那么Flex数据绑定只在应用启动时触发,或者在数组或其引用被更新时触发。当这个数组元素被更新的时候不会触发Flex数据绑定。
但Flex数据绑定表达式中的myAC.getItemAt(0)则会在该数组元素变化时被触发更新。因此,id为text2的Text控件在点击button1时会被更新,而id为text1的Text控件则不会被更新。
当使用数组中的元素作为Flex数据绑定表示的源时,应当在绑定表达式中使用ArrayCollection.getItemAt()方法。

点击button2时将myAC2拷贝给myAC,这会触发对数组元素的所有Flex数据绑定而不论它们是如何实现的。

【编辑推荐】

  1. Flex数据绑定中绑定到函数、对象和数组
  2. 技术分享 在ActionScript中如何定义Flex数据绑定
  3. 技术前沿 看Flex客户端缓存技术如何使用
  4. 解析Flex数据绑定的几种方式
  5. Flex内存泄露解决方法和内存释放优化原则

标题名称:在Flex数据绑定中使用数组
分享网址:http://www.csdahua.cn/qtweb/news37/31137.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

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