`

Flex学习笔记_09 数据绑定_晋级篇

阅读更多

9.2.1 函数和类级别的绑定

[Bindable]标签打使用:
  • 变量级别的绑定,[Bindabl(event="propChange")]  如果自己指定事件,必须自己写代码派发事件,否则不会触发绑定行为。
  • 在函数前定义,必须是通过setter和getter方式定义,必须写在set前面。Num相当于属性:
[Bindable]
public function set Num(n:Number):void{...}
public function get Num():void{...}
  • 在一个公有类的定义前使用,这样这个类的所有公有变量,set、get方式定义的函数,都可以用于绑定,这就是对象级别的绑定。


9.2.2 使用ActionScript 来定义绑定

BindingUtils 位于mx.binding.utils 包中:
  • bindProperty(  用来进行属性级别的绑定
  site:Object,  表示目标对象
  prop:String,  目标对象的公有属性名,当值发生变化时,派发绑定事件
  host:Object,   数据源对象
  chain:Object,  数据源对象被绑定的属性名,或通过getter定义的函数名
  commitOnly:Boolean=false  默认false,表示要发生值的到改变时就会引发绑定行为。true:表示对对象有写操作时仍然会派发事件,但不会激发绑定行为,只有确认了改变的数据, 并派发事件valueCommit 后,绑定动作才开始执行。
)
  • bindSetter(  专门用于setter 和 getter 函数的绑定
  setter:Function,  函数,用来改变数据源对象的值,可以直接在代码中声明一个函数体
  host:Object,  数据源对象
  chain:Object,  数据源对象被绑定的属性名,或通过getter定义的函数名
  CommitOnly:Boolean=false  默认false。同上。
)

ChangeWatcher 对象 位于mx.binding.utils 包中,侦听绑定的动作:
var cw:ChangeWatcher = ChangeWatcher.watch(tip_txt, "text", handler);
cw.unwatch(); //停止监听
watch(
  host:Object,  数据源对象
  chain:Object,  数据源对象被绑定的属性名,或通过get定义的函数
  handler:Function,  监听函数
  commitOnly:Boolean=false  默认false,表示只要发生值的改变时就会引发绑定行为,同上
)


9.2.3 数据绑定中的特例

在绑定中出现问题,一般有以下情况:
  • 数据源没有被更改
  • 绑定事件没有被派发出去
  • 目标对象没有收到资源,也就无法更新

Object 类型作为所有类型的父类,它不完全支持数据绑定。
Object 类型属于动态类型,可以随意的向里面添加任何属性,而且属性的类型也是任意的。
如果要对Object类型绑定,必须使用 mx.utils 包中的 ObjectProxy 对象:
[Bindable]
internal var info:Object;
internal var function ininApp():void{
  //定义info 的属性值
  info = new ObjectProxy();
  info.label = "label";
  BindingUtils.bindProperty(tip_txt, "text", info, "label"); //设置绑定
}
 

Proxy 是代理的意思,ObjectProxy 就相当于 Object 的代理人,提供了数据绑定的接口,任何属性发生变化时,都会派发事件。

ArrayCollection 是增强性的 Array,依然是用数组来存储数据,但支持多种排序、属性绑定等,适合用来处理复杂数据。
setItemAt(item:Object, index:int);  //将元素插入到数组指定的位置,如果存在则替换
数组类型的对象,其子元素是无法作为数据源绑定的。
分享到:
评论

相关推荐

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!

    amcharts_flex_components_1.8.3.3

    《深入解析amcharts_flex_components_1.8.3.3:打造卓越的Flex图表体验》 在IT行业中,数据可视化...在深入学习和实践中,开发者可以不断探索amCharts_flex_components的潜力,为各类项目带来更出色的数据展现效果。

    flex,怎么学习flex,Flex_3_Cookbook_中文版

    学习了一段时间的flex... 上传点资源,大家分享。 flex,怎么学习flex,Flex_3_Cookbook_中文版

    flex3-cn-api..zip_flex_flex 3 api_flex3 api_flex3 a_flex3 api

    Flex 3是该框架的一个重要版本,提供了丰富的组件库、强大的数据绑定机制以及改进的图形渲染能力,极大地提升了Web应用的交互性和用户体验。 在“flex3-cn-api..zip_flex_flex 3 api_flex3 api_flex3 a_flex3 api”...

    dh.rar_flex cool me_flex menu skin_flex 导航_flex4 menu_flex4 menu

    Flex是Adobe公司开发的一种基于ActionScript的开源框架,主要用于构建富互联网应用程序...对于Flex开发者来说,这是一个极好的学习和参考资源,可以深入理解如何在Flex4中创建自定义菜单、皮肤以及数据可视化组件。

    flex_php_mysql.rar_flex_flex_php_mysql_php mysql_php+mysql_php增删

    标题中的"flex_php_mysql.rar_flex_flex_php_mysql_php+mysql_php增删查改"表明这是一个关于使用Flex作为前端、PHP作为服务器端脚本语言、MySQL作为后台数据库进行数据操作的项目。这个项目的重点在于实现基本的CRUD...

    EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds

    Adobe Flex和LiveCycle Data Services(LCDS)是开发此类应用的两大利器,尤其对于企业级应用,它们的结合提供了强大的数据绑定和远程服务交互能力。本文将以"EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds...

    flex企业应用开发笔记-数据绑定

    这篇笔记主要探讨的是如何在Flex中实现数据绑定,以及其在实际应用中的作用。 数据绑定是Flex框架的核心特性之一,它允许开发者将界面元素的属性(如文本框的文本内容)直接绑定到应用程序的数据源,当数据源发生...

    flex_fck_editor 例子

    总结,Flex_FCK_Editor作为一款强大的富文本编辑器,其整合应用涉及到了前端的组件引入、数据绑定、功能扩展,以及后端的服务器集成和安全处理等多个方面。开发者需要全面理解和掌握这些知识点,才能充分发挥Flex_...

    amcharts_flex_components_1.8.1.3

    "amcharts_flex_components_1.8.1.3" 是一个针对Adobe Flex开发者的重要工具包,主要用于创建交互式和视觉吸引人的数据可视化应用。这个版本1.8.1.3是amCharts Flex组件的一个更新,它提供了一系列的组件和功能,...

    Flex学习PPT_wildh

    5. **数据绑定**:Flex支持数据绑定机制,使得界面元素的状态可以直接与后台数据模型关联,当数据发生变化时,界面会自动更新,反之亦然。 6. **事件处理**:通过监听和响应事件,Flex可以实现用户交互。例如,当...

    amcharts_flex_components_1.8.3.4

    在Flex平台上,amcharts通过提供一系列预定义的图表类型,如柱状图、线形图、饼图、地图等,极大地简化了数据可视化的复杂度。1.8.3.4版本作为其在Flex上的最终更新,集成了大量的优化和改进,确保了高性能和兼容性...

    flex数据绑定的原理

    在Flex开发中,数据绑定(Data Binding)是一种强大的机制,它允许UI组件的状态与应用程序的数据模型之间自动同步。数据绑定的原理是通过监听数据源的变化,并自动更新与之绑定的UI组件,反之亦然,从而简化了代码并...

    Oracle ERP_EBS常用表表名

    * fnd_id_flex_segments where id_flex_code=""GL#"" and id_flex_num=50671 * fnd_profile_options_vl * fnd_concurrent_programs 法度表 * fnd_concurrent_requests 恳求表 * fnd_concurrent_processes 过程表 --...

    Flex_3_with_Java Flex_3_with_Java

    此外,Flex 还提供了强大的数据绑定机制,使得开发者可以轻松地将界面元素与后端数据源进行绑定,实现数据的动态展示和更新。 #### ActionScript 3.0 的应用 ActionScript 3.0 (AS3) 是 Flex 3 开发中的主要编程...

    flex学习笔记 flex学习总结 flex学习教程

    4. **数据绑定**:Flex支持数据绑定,允许视图组件直接与数据模型关联,当数据变化时,界面会自动更新,反之亦然。这是Flex实现动态界面的重要机制。 5. **ActionScript深入**:除了基本的变量、函数、类之外,...

    flex数据交互_方式

    Flex提供了两种类型的数据绑定:单向绑定和双向绑定。单向绑定意味着数据只能从模型流向视图,而双向绑定则允许数据在模型和视图之间双向流动,使得数据更新更加灵活和实时。 例如,在一个简单的Flex应用程序中,一...

    MAPABC_FLEX_API_WEB_V2.4

    MAPABC_FLEX_API_WEB_V2.4

    arcgis_api_for_flex_3_5.zip_arcgis flex api 3.5_flex_flex viewer

    这个压缩包文件“arcgis_api_for_flex_3_5.zip”包含了ArcGIS Viewer for Flex 3.5的源码,是学习和开发基于Flex的GIS应用的重要资源。 ArcGIS Viewer for Flex 是一个强大的地图浏览和分析工具,它预设了多种地图...

    map_flex_1_9

    map_flex_1_9map_flex_1_9map_flex_1_9map_flex_1_9map_flex_1_9map_flex_1_9map_flex_1_9

Global site tag (gtag.js) - Google Analytics