先看一个比较正常的代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import cn.whitecrystal.ObjectA;
[Bindable]
private var objectA:ObjectA = new ObjectA();
]]>
</mx:Script>
<mx:Label x="10" y="10" text="{objectA.objectB.aLabel}" width="106"/>
<mx:Button x="136" y="8" label="Button" click="objectA.objectB.aLabel='HELLO'"/>
</mx:Application>
ObjectA的代码:
package cn.whitecrystal
{
[Bindable]
public class ObjectA
{
public var objectB:ObjectB = new ObjectB();
}
}
ObjectB的代码:
package cn.whitecrystal
{
[Bindable]
public class ObjectB
{
public var aLabel:String = "this is a label";
}
}
很显然,当我点击按按钮的时候,Label的文字马上更新的,这就是flex的绑定了。
但是,我们平常碰到的代码可以不会这么正常。我们假设Object B是一个小白写的,写成这样:
package cn.whitecrystal
{
public class ObjectB
{
public var aLabel:String = "this is a label";
}
}
很不幸,这样这样即使你更新实例中aLabel的值,banding也不会生效的。其实这在我们实际开发中更为常见,因为第三方开发包的源码不开源的时候,你又有这种需求就得瞪眼了。
当然书上不会教你这些东西,一切开发中的tip要由小白林毓颖来告诉更多的菜鸟们,大鸟们从来不说嘀嘀嘀。
方法当然有很多种,这里介绍其中一个吧:
保持类的封装当然是我们的最终目的:
所以选择修改ObjectA如下:
package cn.whitecrystal
{
import mx.utils.ObjectProxy;
[Bindable]
public class ObjectA
{
private var temp:ObjectB = new ObjectB();
public var objectB:ObjectProxy = new ObjectProxy(temp);
}
}
ObjectProxy当然是一个重要的架桥类,具体大家见文档吧。
分享到:
相关推荐
《FLEX数据绑定专题》是一本深入探讨Adobe Flex中数据绑定技术的专业中文PDF文档。Flex是一种用于构建富互联网应用程序(RIA)的开放源码框架,它允许开发者创建交互性强、功能丰富的Web应用。数据绑定是Flex中一个...
在Flex开发中,数据绑定(Data Binding)是一种强大的机制,它允许UI组件的状态与应用程序的数据模型之间自动同步。数据绑定的原理是通过监听数据源的变化,并自动更新与之绑定的UI组件,反之亦然,从而简化了代码并...
5. **数据绑定与MVC模式**:Flex中的数据绑定与Model-View-Controller(MVC)设计模式的关系,如何通过数据绑定实现MVC的分离关注点。 6. **实用示例**:提供具体的Flex项目实例,展示如何在实际开发中应用数据绑定...
本文将详细介绍Flex中数据绑定的四种主要方式:“{}”绑定表达式、[Bindable]绑定符号、`<mx:Binding>`标签以及BindingUtils动态绑定。 #### 二、“{}”绑定表达式 **简介** “{}”绑定表达式是一种最直接和简单的...
#### 二、Flex中的数据绑定方式 Adobe Flex支持三种主要的数据绑定方式: 1. **MXML中的大括号({})语法**:这是最直观且常用的一种数据绑定方式。开发者只需要简单地在目标元素的属性值位置放入一对大括号,并在...
首先,数据绑定是Flex中一种强大的工具,它简化了UI组件状态与应用数据之间的同步。在Flex 4中,数据绑定主要分为两种类型:声明式数据绑定和编程式数据绑定。声明式数据绑定通过XML语法在MXML文件中直接设置,如`...
在本示例中,我们关注的是如何在Flex中使用数据绑定技术来操作DataGrid组件,这是一个用于展示表格数据的强大工具。DataGrid通常用于显示结构化的数据集合,如数据库记录或XML数据。 在Flex中,数据绑定允许我们...
在Flex中,数据绑定表达式通常在MXML中使用大括号({})表示,用于将一个对象的属性值与另一个对象的属性值连接起来。例如,`<s:Label id="label" text="{xml.user.name}" />`将XML对象的"user"子节点的"name"属性绑定...
本文是系列文章的第一部分,主要介绍数据绑定的基本概念、工作原理以及在FLEX中的应用。 数据绑定的基本概念: 数据绑定是连接应用程序UI(用户界面)组件和数据源的过程,当数据源发生变化时,UI会自动更新,反之...
Flex中的数据绑定机制会捕获一系列常见的错误,包括但不限于: - `Error#1006: Call attempted on an object that is not a function.` 当尝试对非函数对象执行调用时触发。 - `Error#1009: null has no properties...
Flex中的数据绑定是其强大功能之一,它允许UI组件的状态自动反映模型数据的变化,反之亦然。这种机制减少了代码量,提高了开发效率,确保了数据和视图的一致性。 五、Flex框架与Flex Builder 1. Flex框架:包括...
在Flex中,数据绑定是一种声明性编程方式,通过简单的语法就能实现双向绑定,即模型变化时更新视图,用户交互改变视图时更新模型。 2. 声明式数据绑定 在Flex中,数据绑定通常使用`=`, `:`或`{}`符号来表示。例如,...
在Flex中,ActionScript用于编写业务逻辑和处理用户交互。 4. **Flex组件** Flex提供了大量预定义的UI组件,如按钮、标签、列表、面板等,开发者可以通过这些组件快速搭建用户界面。每个组件都有丰富的属性和方法...
在Flex中,Tree控件用于显示层次结构的数据,它可以是多级别的,非常适合用来展示目录结构或组织结构等。而XML作为一种轻量级的数据交换格式,能够简洁地表示复杂的数据结构,是绑定到Flex组件的理想选择。 在.NET...
本实例代码将深入探讨Flex中数据绑定的工作原理以及如何在ActionScript 3.0中实现它。 数据绑定的基本概念是将UI组件的属性(如文本框的文本)与应用程序中的数据源(如数组或对象的属性)关联起来。当数据源发生...
flex中文帮助flex中文帮助flex中文帮助flex中文帮助
数据绑定是Flex中一种强大的特性,它允许UI组件的值自动与数据模型同步,无需手动处理事件或属性更新。在Flex中,数据绑定主要包含以下四种方式: 1. **"{ }"绑定表达式**:最常用的方式,将数据源直接写在大括号内...
5. **数据绑定**:Flex支持数据绑定机制,允许UI组件的状态直接与应用程序的数据模型关联,当数据模型改变时,界面会自动更新,反之亦然。 6. **服务访问**:Flex可以轻松地与各种后台服务进行通信,如AMF(Action ...