声明可绑定数据源--[Bindable]解析
来源:互联网 发布:2017网络语言 英文 编辑:程序博客网 时间:2024/05/16 08:31
http://mba.shengwushibie.com/itbook/BookChapter.asp?id=13721
13.2.1 声明可绑定数据源--[Bindable]解析
数据绑定的数据源可以是属性变量、方法及ActionScript类对象实例。Flex通过元数据标签[Bindable]进行标识。标识为绑定数据源意味着当数据源变化时,能够调度事件,通知Flex更新目标数据。
Bindable元数据标签的签名如下:
[Bindable]或者
[Bindable(event='eventName')]
开发者一般忽略事件(event)名称,只使用[Bindable]标识可绑定数据源。这种情况下,Flex会默认地创建mx.events.PropertyChangeEvent类型事件,事件名为propertyChange。当数据绑定的数据源发生变化时,数据源会自动调度propertyChange事件,通知Flex将新值复制给目标数据。
如果在标识绑定时说明了事件,也就是说采用了[Bindable (event='eventName')]方式,开发者须要自己定义和调度事件。
我们依次说明如何声明属性、ActionScript类和方法作为可绑定的数据源。
声明可绑定属性
在属性变量定义之前,使用元数据标签[Bindable]声明属性可绑定。属性可以是公共属性、私有属性或被保护属性。声明如下:
[Bindable]public var employee:Employee=new Employee();[Bindable]private var acEmployees:ArrayCollection=new ArrayCollection();
如上声明后,employee和acEmployees变量可作为绑定数据源。
对于使用getter和setter方法定义的属性变量,需要在get或set方法前声明[Bindable]。如代码13-3所示。
代码13-3:getter和setter的属性绑定声明
<?xml version='1.0' encoding='utf-8'?><mx:Application xmlns:mx='http://www.adobe.com/2006/mxml' layout='vertical'verticalAlign='middle' backgroundColor='white' creationComplete='init();'><mx:Script><![CDATA[private var _prop:String;private function init():void{prop='bind was triggerd';}[Bindable]private function set prop(value:String ):void{//自定义代码_prop=value;}private function get prop():String{//自定义代码return _prop;}]]></mx:Script><mx:Text id='txtDest' text='{prop}'/><mx:Button label='修改' click='prop='bind was triggerd Again!''/></mx:Application>
声明可绑定ActionScript类
在公共类定义前,使用[Bindable]声明该类是可绑定的。
声明ActionScript类可绑定意味着告诉Flex,这个类的所有公共属性都是可绑定的。因此,代码13-4、代码13-5具有相同的意义。
代码13-4:可绑定ActionScript类一
package com.longfei.bookLabs.bookStore.model{[Bindable]public class Employee{public var name:String;public var title:String;public function Employee(){}}}代码13-5:可绑定ActionScript类二
package com.longfei.bookLabs.bookStore.model{public class Employee{[Bindable]public var name:String;[Bindable]public var title:String;public function Employee(){}}}
声明可绑定方法
在Flex中,方法也可以作为数据绑定的数据源,前提条件是方法的参数必须声明为可绑定的属性变量。当属性变量发生变化时,方法就会被调用,并把结果传递给目标数据,如代码13-6所示。
代码13-6:可绑定ActionScript方法
<?xml version='1.0' encoding='utf-8'?><mx:Application xmlns:mx='http://www.adobe.com/2006/mxml' layout='vertical'verticalAlign='middle' backgroundColor='white'><mx:Script><![CDATA[private var strDest:String;private function functionSrc(value:Object):String{strDest='新数据是: ' + value;return strDest;}]]></mx:Script><mx:Form><mx:FormItem label='数据源:'><mx:TextInput id='txtSrc' /></mx:FormItem><mx:FormItem label='目标数据:'><mx:TextInput id='txtDest' text='{functionSrc(txtSrc.text)}'/></mx:FormItem></mx:Form></mx:Application>
- 声明可绑定数据源--[Bindable]解析
- 13.2.1 声明可绑定数据源--[Bindable]解析
- Bindable数据绑定
- [Bindable]绑定和[Bindable("eventname")]绑定的区别
- flex中的数据绑定 bindable
- 关于flex得绑定 [bindable]
- 可输入的下拉列表 支持dropdownlist的数据源绑定
- flex中的数据绑定 bindable用法
- [Bindable]
- bindable
- [Bindable]
- 数据源绑定
- 可空与可绑定数据源的日期编辑选择控件 TDateEditPicker
- 可空与可绑定数据源的日期编辑选择控件 TDateEditPicker
- DataTable 深入解析数据源绑定原理之高级篇
- Flex数据绑定中使用Bindable元数据标记
- XmlDataSource 数据源绑定数据
- DropDownList 绑定数据源
- GLUT教程
- VC命名规则
- .NET简谈组件程序设计之(详解NetRemoting结构)
- Flex 4.5中数据绑定的原理
- Ubuntu修改PS1
- 声明可绑定数据源--[Bindable]解析
- 3.5 divergent change(发散式变化)
- Flex处理大数据量时,因该注意的一些事
- informatica - Architecture and Processes
- 异步IO网络服务器设计(三) 写操作
- Fedora 10 静态IP设置,实现PC连上北理工校园网的同时,与虚拟机可以互ping
- 3.6 shotgun surgery(散弹式修改)
- 通过sql server存储过程自动下载网络csv文件,来更新数据库
- java的线程与锁