<mx:Tile direction="horizontal" borderStyle="inset">
<mx:Repeater dataProvider="{imageList}" id="rp">
<mx:Image source="{rp.currentItem.thumb}" click="{Alert.show(rp.currentItem.thumb)}"/>
</mx:Repeater>
</mx:Tile>
在做这个测试的例子的时候,发现会产生错误 ,后来仔细想想还是想明白了,在做click事件时,Repeater已经循环结束了, 这时候再去访问rp.currentItem则会产生问题。
那么把测试例子改成下面这样
<mx:script>
function handle(event:MouseEvent){
Alert.show(event.currentTarget.getRepeaterItem())
}
</mx:script>
<mx:Tile direction="horizontal" borderStyle="inset">
<mx:Repeater dataProvider="{imageList}" id="rp">
<mx:Image source="{rp.currentItem.thumb}" click="handle(event)"/>
</mx:Repeater>
</mx:Tile>
那么关于event.currentTarget.getRepeaterItem()这个又是怎么回事呢,
event.currentTarget这个不用多讲了,这个例子是Image,那么getRepeaterItem()又不是Image的方法。GOOGLE一下,发现了以下说明
Repeated components and repeated Repeater components have a getRepeaterItem() method that returns the item in the dataProvider property that was used to produce the object. When the Repeater component finishes repeating, you can use the getRepeaterItem() method to determine what the event handler should do based on the currentItem property. To do so, you pass the event.currentTarget.getRepeaterItem() method to the event handler. The getRepeaterItem() method takes an optional index that specifies which Repeater components you want when nested Repeater components are present; the 0 index is the outermost Repeater component. If you do not specify the index argument, the innermost Repeater component is implied.
那么可以看出,被Repeated的控制可以有一个方法,得到当时currentItem所对应的值。
分享到:
相关推荐
在Flex开发中,`Repeater`组件是一个非常实用的功能,它允许开发者根据动态或静态的数据数组,在运行时重复显示一个或多个用户界面组件。这对于创建动态且响应式界面至关重要。本文将详细介绍如何使用`Repeater`组件...
### Flex 3 组件实例与应用(2009版) #### 一、概述 《Flex 3 组件实例与应用》是一本针对初学者学习Adobe ...对于希望深入学习Flex 3及其组件的新手来说,《Flex 3 组件实例与应用》无疑是一个非常有价值的资源。
- **RadioButton**: 单选按钮,通常用于同一组中只能选择一个项的场景。 - **RadioButtonGroup**: 管理一组单选按钮。 - **ToggleButtonBar**: 支持切换状态的按钮栏。 #### Datecontrols(日期组件) - **...
### 使用Repeater组件 在Adobe Flex开发中,`...综上所述,`Repeater`组件在Flex开发中是一个非常有用的工具,特别是在需要重复渲染UI组件的情况下。理解其工作原理和最佳实践可以帮助开发者更高效地构建用户界面。
以上仅为《Flex 3 组件实例与应用(2009版)》书中部分知识点的概述,该书详细介绍了每一个组件的使用方法、属性、事件以及示例代码,对于希望深入学习和掌握Flex 3开发技术的读者来说,是一本不可多得的实战指南。
`ItemRenderer`是Flex和Flash中的一个组件,它的主要职责是将数据项转换为可视化的UI元素。在数据驱动的界面中,如列表或网格,每个数据项都需要一个特定的外观,这就是ItemRenderer的作用。它允许开发者自定义数据...
- **使用Repeater组件**:动态重复渲染列表或网格中的数据项。 - **设置组件的皮肤**:自定义组件的视觉表现,实现高度定制的设计。 - **使用数据提供程序**:管理和绑定数据到UI组件,实现数据驱动的应用程序。 - *...
- Repeater是一个特殊的非可视控件,类似于编程中的循环语句,用于在不知道具体项数的情况下重复一组控件。 #### 结论 Flex及其配套的Flex Builder为开发者提供了一套完整且强大的工具集,用于构建高度互动、美观...
数据驱动组件是软件开发中的一种设计模式,尤其在富客户端应用程序如Flex中广泛使用。它强调数据源的变化能够自动更新用户界面,无需手动控制每个组件的状态。数据驱动组件包括基本列表、高级列表、菜单和导航按钮等...
Macromedia Flex 是一个强大的平台,它允许开发者创建高性能的 RIA。然而,若没有正确地运用,即使是这样一个强大的工具也会遇到性能瓶颈。本文旨在探讨提升 Flex 应用程序性能的方法和技术,分为客户端和服务器端两...
在Flex环境中,复选框的选中状态可以通过其selected属性来获取和设置,该属性为一个布尔值,true表示复选框被选中,false则表示未选中。根据文章中提供的代码示例,可以发现通过遍历复选框数组来实现全选、全不选...
在Flex开发中,AdvancedDataGrid控件是一种强大的数据网格组件,用于展示大量结构化数据。相较于mx:Repeater,AdvancedDataGrid在处理大数据集时提供了更好的性能和用户体验,包括分页、排序、过滤等功能。然而,它...
学习ASP.NET,尤其是对于初学者而言,需要构建一个扎实的基础。首先,理解.NET框架是至关重要的,因为ASP.NET是基于.NET框架之上的Web开发技术。在.NET框架中,C#和VB.NET是最常用的编程语言,它们都是面向对象(OO...
在C#中,遵循camelCase命名规则,每个单词的首字母除了第一个之外都应大写,这样可以增加代码的可读性。例如:`chkReadOnly`表示只读复选框。 3. **避免使用保留字**: 避免使用C#的保留字作为控件名称,以防止...