数据绑定不能直接使用数组,如Array,因为数组不能分发导致用户界面更新事件。
ObjectProxy是为Object准备的代理,
XMLListCollection是为XMLList准备的代理,
ArrayCollection是为Array准备的代理,这里Array有两种代理:一个是ArrayCollection(不仅支持数据绑定,还具有排序、筛选和快速数据查询等功能),另一个是ArrayList。
ObjectProxy 类
如果一个类要想使用数据绑定的功能,必须得实现IPropertyChangeNotifier接口;否则,这个对象不能够绑定的。
但是,有一些类的属性或变量,比如简单的变量,它们不能使用[Bindable]标签,也不能实现必要的接口。也就是说,
这个类属于你创建的,你可以添加[Bindable]来轻松实现绑定的功能;但若这个类不属于你,而你又想实现绑定的功能,
这时你就可以考虑使用ObjectProxy类。ObjectProxy 类包装一个非绑定类和一个属性改变就会派发的PropertyChangeEvent事件。
下面是ObjectProxy的应用例子。创建一个ObjectProxy类对象,并用非绑定类来实例化ObjectProxy,在这里我们用UserInfo这个类。
<xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="1024" minHeight="768"
creationComplete="creationCompleteHandler()">
<fx:Script>
<!--[CDATA[
import mx.events.PropertyChangeEvent;
import mx.utils.ObjectProxy;
import vo.UserInfo;
private var userInfo:UserInfo = new UserInfo();
private var objectProxy:ObjectProxy;
protected function creationCompleteHandler():void
{
objectProxy = new ObjectProxy( userInfo );
objectProxy.addEventListener( PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChange );
objectProxy.userName = "EladElrom";
objectProxy.password = "123";
}
private function onPropertyChange( event:PropertyChangeEvent ):void
{
lbl.text = event.newValue.toString();
}
]]-->
</fx:Script>
<s:Label id="lbl" />
</s:Application>
[/node]
接着给实例化对象添加一个PropertyChangeEvent事件的侦听函数,并跟踪UserInfo某个条目的改变。
分享到:
相关推荐
3. **定义服务代理**:在Flex应用中,我们可以使用ProxyService或WebService组件来调用后台服务。定义服务接口,包括方法名和参数,以匹配后台服务的API。 4. **数据访问对象(DAO)**:在后台,创建DAO(Data ...
你需要学习如何配置 BlazeDS 或 LCDS(LiveCycle Data Services)作为数据传输中间件,以及在Flex中创建服务代理来访问Java服务。 三、Flex入门到实践 "Flex从入门到实践.pdf"教程应涵盖Flex的基本概念,如MXML和...
我们可以在Java服务器端创建代理服务,并在Flex客户端通过`RemoteObject`类来调用这些服务。 - **LCDS**:Adobe的商业产品,扩展了BlazeDS的功能,包括高级数据推送、事务管理、安全性和性能优化。 4. **Flex中的...
这些技术都是 Flex 与后端服务器交互的手段,因为Flex本身并不具备直接访问数据库的能力,必须通过服务端代理来实现。 1. **HttpService**: HttpService 是最基础的通信方式,它可以通过HTTP协议请求数据,通常...
在Flex中,数据库交互通常通过数据访问对象(DAO)模式或服务代理实现,允许前端应用程序与后端数据库进行通信。在描述中提到的"专家解析"可能涵盖了如何设计和实现这些接口的策略,以及如何优化性能和处理错误。 1...
7. **数据绑定和事件处理**:Flex中的数据绑定允许UI元素与模型对象自动同步,而事件处理则用于响应用户的操作并触发服务调用。 8. **错误处理和调试**:集成过程中,确保正确处理可能出现的网络错误、AMF序列化...
首先,你需要在Flex Builder中导入WebService,只需输入WebService的WSDL(Web Service Description Language)地址,Flex会自动生成对应的代理类。这些代理类使得你可以像操作本地对象一样调用远程的WebService方法...
LCDS为Flex应用程序提供与Java后端之间的高效通信,支持数据绑定、实时消息传递(RTMP)和多种数据服务。 在本教程中,我们将学习如何利用Eclipse插件(FlexBuilder3 beta2)创建Flex的LCDS工程,并集成Java应用...
例如,开发者可以通过Spring的配置文件定义服务端的业务组件,并在Flex客户端通过代理类调用这些服务,大大降低了开发的复杂性。 此外,Spring-Flex还提供了丰富的功能,如数据绑定、事件处理和资源管理等,帮助...
在Flex中,数据管理通常涉及数据绑定,它允许视图组件自动反映模型的变化。CairngormStore可能包含了一个数据存储模型,演示了如何创建可扩展和灵活的数据管理机制。此外,它还可能展示了事件驱动编程的概念,这是...
2. **数据绑定**:Flex支持数据绑定,这意味着你可以直接将数据模型与界面组件关联,当数据发生变化时,界面会自动更新。这对于实时仪表盘至关重要,因为数据可能频繁变动。 3. **图表组件**:Flex提供了一系列图表...
3. **高效开发**: 描述中提到的“高效表格开发技术实例”,意味着教程可能会涉及如何优化DataGrid的性能,如通过虚拟化技术减少内存消耗,使用数据代理减少数据绑定的复杂性,以及如何利用分页和过滤功能来提升用户...
Spring Flex 将 Spring MVC 模型与 Flex 应用程序中的数据模型进行绑定,通过 BlazeDS 或 LCDS 实现 AMF 通信。 三、Spring Flex 组件结构 1. `flex-messaging-spring`:这是 Spring Flex 的核心模块,它包含 ...
在Flex中,模型通常是数据类和数据访问对象(DAO)。例如,`BuddyAppModelLocator`类就是一个模型定位器,它包含应用中不同组件所需的共享数据。在这里,`buddyList`存储从数据源获取的密友列表,`loginUser`表示...
- **数据绑定**:Flex的强项在于其数据绑定机制,将服务器返回的数据自动绑定到UI组件,实现动态更新。 - **事件处理**:在Flex中监听服务调用的事件,如result和fault事件,处理成功返回的数据或异常情况。 - **...
Spring Flex 提供了全面的支持,使得 Flex 应用程序能够充分利用 Spring 框架的强大功能,包括依赖注入、服务代理、事务管理以及安全控制等。 Flex 是一个用于构建动态、交互性丰富的 Web 应用程序的开源框架,基于...
3. **数据绑定和事件处理**:Flex 4.5提供了强大的数据绑定机制,使数据与用户界面元素之间的关系更加直观。事件处理也更加灵活,支持事件冒泡和事件代理,使得处理用户交互变得更加简单。 4. **移动设备支持**:...
- **生成服务代理类**:介绍如何生成用于调用后端服务的代理类。 - **使用生成的代码**:演示如何在Flex应用中使用这些生成的代码来访问服务。 #### 第5章:通过分页管理数据访问 介绍如何在Flex应用中实现分页功能...
此外,`flex-spring`库可能还提供了其他功能,如模型绑定、异常处理等,这些都可以通过拦截器进行扩展。在深入研究Flex-Spring拦截器时,理解Spring AOP的核心概念和AMF的工作原理是至关重要的。通过这样的集成,...
Flex支持双向数据绑定,这使得视图和模型之间的数据同步变得简单。通过数据绑定,当模型数据改变时,关联的视图会自动更新;反之亦然。 八、Flex与服务器通信 Flex应用可以通过AMF(Action Message Format)或...