Flex4 vs Flex3: Repeater vs DataGroup

简介: repeaters太老土了!如果你过去使用过它,你会发出这种感概。现在,我们终于要摆脱它了。Repeaters不仅有沉重的组件,而且接合使用很不方便。那么,Flex 4中有什么可以帮助我们吗?DataGroups!下面的例子都会用到这个数据: userData = new ArrayCollection();     userData.

 

repeaters太老土了!如果你过去使用过它,你会发出这种感概。现在,我们终于要摆脱它了。
Repeaters不仅有沉重的组件,而且接合使用很不方便。那么,Flex 4中有什么可以帮助我们吗?DataGroups!
下面的例子都会用到这个数据:
  1. userData = new ArrayCollection();
  2.     userData.addItem({"fname":"Rich","lname":"Tretola"});
  3.     userData.addItem({"fname":"Joe","lname":"Smith"});
  4.     userData.addItem({"fname":"Bill","lname":"Johnson"});
复制代码
Flex 3的例子使用了Repeater和一个名为PersonRenderer的自定义组件:
主文件中的Repeater(Flex 3):
  1. <mx:VBox horizontalCenter="0" verticalCenter="0">
  2.     <mx:Repeater id="rep" dataProvider="{userData}">
  3.         <local:PersonRenderer person="{rep.currentItem}"/>
  4.     </mx:Repeater>
  5. </mx:VBox>
复制代码
PersonRenderer 组件(Flex 3):
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" >
  3.     <mx:Script>
  4.         <![CDATA[
  5.             [Bindable]
  6.             public var person:Object;
  7.         ]]>
  8.     </mx:Script>
  9.     <mx:Label text="{person.fname} {person.lname}"/>
  10. </mx:HBox>
复制代码
<ignore_js_op> 

使用了DataGroup和ItemRenderer的Flex4例子。代码如下:
主文件中的DataGroup:
  1. <s:DataGroup itemRenderer="PersonRenderer"
  2.              dataProvider="{userData}"
  3.              verticalCenter="0" horizontalCenter="0">
  4.     <s:layout>
  5.         <s:VerticalLayout/>
  6.     </s:layout>
  7. </s:DataGroup>
复制代码
PersonRenderer ItemRenderer (Flex 4):
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
  3.             xmlns:s="library://ns.adobe.com/flex/spark">
  4.     <s:Label text="{data.fname} {data.lname}"/>
  5. </s:ItemRenderer>
复制代码
<ignore_js_op>
相关文章
|
6月前
|
搜索推荐
什么是 Pledge to Flex
什么是 Pledge to Flex
34 0
|
8月前
|
JavaScript 容器
什么是Flex
1:屏幕和浏览器窗口大小发生改变也可以灵活调整布局; 2:可以指定伸缩项目沿着主轴或侧轴按比例分配额外空间(伸缩容器额外空间),从而调整伸缩项目的大小; 3:可以指定伸缩项目沿着主轴或侧轴将伸缩容器额外空间,分配到伸缩项目之前、之后或之间; 4:可以指定如何将垂直于元素布局轴的额外空间分布到该元素的周围; 5:可以控制元素在页面上的布局方向; 6:可以按照不同于文档对象模型(DOM)所指定排序方式对屏幕上的元素重新排序。也就是说可以在浏览器渲染中不按照文档流先后顺序重排伸缩项目顺序。
91 0
|
前端开发
CSS - Flex属性 - flex-grow / flex-shrink / flex-basis(上)
CSS - Flex属性 - flex-grow / flex-shrink / flex-basis(上)
82 0
CSS - Flex属性 - flex-grow / flex-shrink / flex-basis(上)
|
前端开发 容器
flex从总结到了解
flex 是一种布局方式,在 CSS3 之后开始有。它主要由父容器和子项组成
159 1
flex从总结到了解
|
容器
Flex布局里的align-self属性
Flex布局里的align-self属性
130 0
Flex布局里的align-self属性

热门文章

最新文章