gpt4 book ai didi

apache-flex - Flex 中的 等价物是什么?

转载 作者:行者123 更新时间:2023-12-04 03:19:51 26 4
gpt4 key购买 nike

我是一名长期的 CF 开发人员,正尝试使用 Flash Builder 进行 Flex 移动开发,但我在尝试从简单的数据库查询输出结果时感到沮丧。

我正在寻找与此类似的东西......

<cfoutput query="myQ">
<s:Button label="#title#" click="myFunction(#id#)">
</cfoutput>

最佳答案

您将最适合将基于列表的类与 itemRenderer 一起使用。概念上是这样的:

<sList dataProvider="myQ">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer dataChange="onDataChange(event)">
<fx:Script>
protected function onDataChange(event:FlexEvent):void{
myButton.label = data.title;
}
protected function myFunction(event:MouseEvent):void{
// access the ID using data.id
}
</fx:Script>
<s:Button id="myButton" click="myFunction(event)" />
<s:ItemRenderer>
</fx:Component>
</s:itemRenderer>

</s:List>

这段代码是在浏览器中编写的;所以它可能并不完美,但应该给你一个近似值。要了解基于列表的类,您应该研究渲染器在 Flex 中的工作方式;特别是渲染器回收。

如果我们要创建一个类似于您所显示的循环,那么如果循环中有 100 个项目,100 个按钮可能会导致性能问题。相反,我们使用列表和渲染器。仅呈现屏幕上显示的项目。当您滚动列表时,其他项目会在滚动到 View 中时呈现;并且滚出 View 的项目不再渲染。因此,不是 100 个对象卡在内存中,而是有 10 个左右实际显示在屏幕上。这就是为什么我的内联 itemRenderer 会监听数据更改事件;因此渲染将在数据更改时更新。

当您滚动时,列表会将下一个数据项发送到已经创建的渲染器中。

我理解需要在您已经了解的上下文中构建事物,但是 UI 开发 (Flex) 与服务器端开发 (ColdFusion) 不同;所以你可能会遇到很多差异。这是其中之一。

关于apache-flex - Flex 中的 <cfoutput> 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com