`
bigbird365
  • 浏览: 7492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

flex的代理绑定类

 
阅读更多
数据绑定不能直接使用数组,如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某个条目的改变。

分享到:
评论

相关推荐

    Flex如何让前台链接后并访问数据库

    3. **定义服务代理**:在Flex应用中,我们可以使用ProxyService或WebService组件来调用后台服务。定义服务接口,包括方法名和参数,以匹配后台服务的API。 4. **数据访问对象(DAO)**:在后台,创建DAO(Data ...

    flex入门打包教程

    你需要学习如何配置 BlazeDS 或 LCDS(LiveCycle Data Services)作为数据传输中间件,以及在Flex中创建服务代理来访问Java服务。 三、Flex入门到实践 "Flex从入门到实践.pdf"教程应涵盖Flex的基本概念,如MXML和...

    Flex调用Webservice及java程序

    我们可以在Java服务器端创建代理服务,并在Flex客户端通过`RemoteObject`类来调用这些服务。 - **LCDS**:Adobe的商业产品,扩展了BlazeDS的功能,包括高级数据推送、事务管理、安全性和性能优化。 4. **Flex中的...

    Flex连接数据库三种方法

    这些技术都是 Flex 与后端服务器交互的手段,因为Flex本身并不具备直接访问数据库的能力,必须通过服务端代理来实现。 1. **HttpService**: HttpService 是最基础的通信方式,它可以通过HTTP协议请求数据,通常...

    Flex Resolve

    在Flex中,数据库交互通常通过数据访问对象(DAO)模式或服务代理实现,允许前端应用程序与后端数据库进行通信。在描述中提到的"专家解析"可能涵盖了如何设计和实现这些接口的策略,以及如何优化性能和处理错误。 1...

    flex+blazeds+spring

    7. **数据绑定和事件处理**:Flex中的数据绑定允许UI元素与模型对象自动同步,而事件处理则用于响应用户的操作并触发服务调用。 8. **错误处理和调试**:集成过程中,确保正确处理可能出现的网络错误、AMF序列化...

    五分钟用Flex构建WebService应用

    首先,你需要在Flex Builder中导入WebService,只需输入WebService的WSDL(Web Service Description Language)地址,Flex会自动生成对应的代理类。这些代理类使得你可以像操作本地对象一样调用远程的WebService方法...

    Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程

    LCDS为Flex应用程序提供与Java后端之间的高效通信,支持数据绑定、实时消息传递(RTMP)和多种数据服务。 在本教程中,我们将学习如何利用Eclipse插件(FlexBuilder3 beta2)创建Flex的LCDS工程,并集成Java应用...

    flex插件版

    例如,开发者可以通过Spring的配置文件定义服务端的业务组件,并在Flex客户端通过代理类调用这些服务,大大降低了开发的复杂性。 此外,Spring-Flex还提供了丰富的功能,如数据绑定、事件处理和资源管理等,帮助...

    flex官方经典实例

    在Flex中,数据管理通常涉及数据绑定,它允许视图组件自动反映模型的变化。CairngormStore可能包含了一个数据存储模型,演示了如何创建可扩展和灵活的数据管理机制。此外,它还可能展示了事件驱动编程的概念,这是...

    Flex实现动态仪表盘

    2. **数据绑定**:Flex支持数据绑定,这意味着你可以直接将数据模型与界面组件关联,当数据发生变化时,界面会自动更新。这对于实时仪表盘至关重要,因为数据可能频繁变动。 3. **图表组件**:Flex提供了一系列图表...

    Flex FooterSpark DataGrid 表格制作

    3. **高效开发**: 描述中提到的“高效表格开发技术实例”,意味着教程可能会涉及如何优化DataGrid的性能,如通过虚拟化技术减少内存消耗,使用数据代理减少数据绑定的复杂性,以及如何利用分页和过滤功能来提升用户...

    spring-flex-1.0.1.RELEASE

    Spring Flex 将 Spring MVC 模型与 Flex 应用程序中的数据模型进行绑定,通过 BlazeDS 或 LCDS 实现 AMF 通信。 三、Spring Flex 组件结构 1. `flex-messaging-spring`:这是 Spring Flex 的核心模块,它包含 ...

    flex的mvc模式

    在Flex中,模型通常是数据类和数据访问对象(DAO)。例如,`BuddyAppModelLocator`类就是一个模型定位器,它包含应用中不同组件所需的共享数据。在这里,`buddyList`存储从数据源获取的密友列表,`loginUser`表示...

    Flex(Flash)与.net交互教程

    - **数据绑定**:Flex的强项在于其数据绑定机制,将服务器返回的数据自动绑定到UI组件,实现动态更新。 - **事件处理**:在Flex中监听服务调用的事件,如result和fault事件,处理成功返回的数据或异常情况。 - **...

    Spring 整合 Flex 包

    Spring Flex 提供了全面的支持,使得 Flex 应用程序能够充分利用 Spring 框架的强大功能,包括依赖注入、服务代理、事务管理以及安全控制等。 Flex 是一个用于构建动态、交互性丰富的 Web 应用程序的开源框架,基于...

    Flex 4.5 API

    3. **数据绑定和事件处理**:Flex 4.5提供了强大的数据绑定机制,使数据与用户界面元素之间的关系更加直观。事件处理也更加灵活,支持事件冒泡和事件代理,使得处理用户交互变得更加简单。 4. **移动设备支持**:...

    FLEX4 DOCUMENT

    - **生成服务代理类**:介绍如何生成用于调用后端服务的代理类。 - **使用生成的代码**:演示如何在Flex应用中使用这些生成的代码来访问服务。 #### 第5章:通过分页管理数据访问 介绍如何在Flex应用中实现分页功能...

    Flex-Spring拦截器

    此外,`flex-spring`库可能还提供了其他功能,如模型绑定、异常处理等,这些都可以通过拦截器进行扩展。在深入研究Flex-Spring拦截器时,理解Spring AOP的核心概念和AMF的工作原理是至关重要的。通过这样的集成,...

    flex 教程及源码 Flex完全自学手册电子教案(PPT)

    Flex支持双向数据绑定,这使得视图和模型之间的数据同步变得简单。通过数据绑定,当模型数据改变时,关联的视图会自动更新;反之亦然。 八、Flex与服务器通信 Flex应用可以通过AMF(Action Message Format)或...

Global site tag (gtag.js) - Google Analytics