什么是元数据(metadata):[Bindable]大概又是Flex用得最多的元数据了。我就按自己的理解随便解释一下:首先要明白元数据不是语法的一部分,而是专门给编译器用的
,说白了是告诉编译器做某些事情,学过java之类的应该知道。那Bindable来讲,它的作用是告诉 flex编译器,给某些某些东西建立绑定关系,flex编译器会在编译过程中给AS(
flex编译器就是把mxml编译成as,再编译到swf,也可能直接编译倒swf,我这里假设有as这么个环节)加一点事件发生和处理之类的代码,由此绑定的关系便建立了,如果我们用
纯粹as3代码来写也是可以实现的,就是太太太麻烦。
什么是绑定:
举个例子:给下面的public变量加上[Bindable]
[Bindable]
public var name:String = "";
作为一个public变量,肯定既可以被赋值,也能赋值给别的变量。绑定的作用就是,当name改变的时候(被赋值了),可能通知其它被name影响(赋值给它们)的变量发生改
变。这里的"可能"就需要编译器来判断,这就是为什么元数据是给编译器用的原因了。在mxml里用{}的语法的地方就是绑定的对象,比如label={xxx.name},当name变化,label
也跟着变化。这样,我们只是很简单的改变了name的值,由于有绑定,界面上的 label也跟着自动变化了,爽吧。
能用在哪里?三个地方:类, 变量。
1、getter/setter。是不是public没有关系,private的就只能给自家用呗。
2、Class。就是简单的给类所有的public属性(包括变量,getter/setter,普通方法)加上 [Bindable],可是一般的方法不能用[Bindable]呀,于是一般就能看到flex给了
个warning,直接无视。变量嘛就是上面讲的,很简单略掉。
3、用在只读,只写属性(getter/setter)上面。终于讲到关键地方了,因为getter和setter很像方法,用起来会有点不同。看看这个例子:
[Bindable]
private var content:Array = new Array();
[Bindable]
public function set _content(ct:String):void
{
content = ct.split(SEP);
}
[Bindable]
public function get _wholeText():String
{
if(content.length == 0)
{
return "";
}
else
{
var _w:String = "";
for(var i:int=0 ; iArray = new Array();
[Bindable]
public function set _content(ct:String):void
{
content = ct.split(SEP);
this.dispatchEvent(new Event("_contectChanged"));
}
[Bindable("_contectChanged")]
public function get _wholeText():String
{
if(content.length == 0)
{
return "";
}
else
{
var _w:String = "";
for(var i:int=0 ; iflex为用户隐藏了很多底层算法。
发表评论
-
shell实例(七) --参数/字符串替换
2012-07-06 09:52 10331.说明 ${parameter-default} --- ... -
GCC后端及汇编发布(20)
2012-07-06 09:46 737DEFINE_INSN_RESERVATION模式的概览一 ... -
asp.net下集成(Active Messenger)AM消息发送组件
2012-07-03 13:44 1280Active Messenger是杭州恒创软件公司开发的一 ... -
Flex富文本编辑器(嵌入Fck)
2012-07-02 13:04 1022... -
(Flex)让Panel可拖动
2012-07-02 13:04 562height="300" mouseD ... -
flex 中Tree的数据由数组提供
2012-07-02 13:04 420flex/spark" xmln ... -
flex 事件触发篇
2012-07-02 13:04 573事件触发篇 完整代码 ... -
FLEX 条形图(柱状图)设置刻度为百分比
2012-07-02 13:04 1105作者原创,如需转载请注明出处:www.krzone.org ... -
Flex 动态datagrid的应用
2012-07-01 10:37 635Flex有2种常用的datagrid: ... -
FLEX与javascript交互
2012-07-01 10:37 587用Flex来调用同一页面中的javascript函数。调用 ... -
Flex + BlazeDS 学习笔记 (一) --- BlazeDS的功能原理及配置实例
2012-07-01 10:37 743BlazeDS Test Drive里面 ... -
页面中嵌入FLEX应用-传参
2012-06-30 17:01 662页面中嵌入FLEX应用-传参 2010年06月29日 项 ... -
用Parsley实现Flex Ioc的简单例子
2012-06-30 17:01 567用Parsley实现Flex Ioc的简单例子 2010年0 ... -
Flex嵌入jsp开发心得
2012-06-30 17:01 734Flex嵌入jsp开发心得 2010年07月02日 PM ... -
flex与数据库交互
2012-06-30 17:01 538flex与数据库交互 2010年07月04日 Flex最 ...
相关推荐
什么是元数据(metadata):[Bindable]大概又是Flex用得最多的元数据了。
2.5 Flex中的组件化编程 2.5.1 认识Flex组件和组件容器 2.5.2 组件生命周期与布局 2.5.3 组件的失效机制 2.5.4 使用ActionScript创建自定义组件 2.6 异步调用 2.6.1 异步调用导致模型数据不一致...
2.5 Flex中的组件化编程 2.5.1 认识Flex组件和组件容器 2.5.2 组件生命周期与布局 2.5.3 组件的失效机制 2.5.4 使用ActionScript创建自定义组件 2.6 异步调用 2.6.1 异步调用导致模型数据不一致...
再接着详细讲解了BlazeDS框架的使用方法和工作原理,并通过迭代的方式完整地演示一个真实的Flex企业级应用的开发全过程,实战性极强;最后重点探讨Flex应用性能优化等方面的高级知识。值得一提的是,本书公开了作者...
[Bindable] private var dp:Array = [ {idx:1, names: "test1", sex: "b" }, {idx:2, names: "test2", sex: "g" } ]; public function doSelect(o:Object):void { Alert.show("行的数据分别是...
Bindable.js 实现了灵活、快速的双向数据绑定的 JavaScript 库。 Two-way data binding means linking properties of two separate objects - when one changes, the other will automatically update with that ...
[Bindable] private var slides:ArrayCollection private function resultHandler(event:ResultEvent):void { slides = event.result.album.slide; } private function faultHandler...
Bindable是一个设计系统,旨在在工具中提供视频产品,以构建紧密一致的界面。 Bindable将为设计者和工程师提供一种通用的模式。 Bindable是作为插件开发的,并使用构建。 目录 背景 我们是由设计师和工程师组成的...
算是flex初学者的的笔记吧,首先可以概览一下下文中的代码,然后我们主要是看看[Bindable]的这种用法。
本文主要讲解AngularJS ng-non-bindable 指令,这里帮大家整理了ng-non-bindable指令的基本知识资料,有需要的小伙伴可以参考下
*" creationComplete="initTree();... change="iFrame.source=tree.selectedNode.path" /> ... // TODO: determine whether we can ... // TODO: add some links here to Flex sites } ]]> </mx:Application>
[Bindable] var result:String; function sendRequest(){ var name=name1.text; var password=password1.text; ro.validateLogin(name,password); ro.addEventListener(ResultEvent.RESULT,results); } function ...
可结合成分 公开BindableComponent以轻松绑定组件方法以用作react中的处理程序。 还提供了BaseComponent ,唯一的区别是包含了PureRenderMixin 。安装npm install --save bindable-component用法import { ...
var BindableObject = require ( "bindable-object" ) ; var person = new BindableObject ( { name : "craig" , last : "condon" , location : { city : "San Francisco" } } ) ; person . bind ( "location....
如何使用依赖属性通过将DependencyPropertyAttribute应用于单个属性或整个类,可以将常规属性转换为依赖属性。 当您将属性应用于类时,所有可用属性都将转换为依赖项属性。 不会转换的属性是: 非汽车属性。 (具有...
open flash chart 2 的swc文件包 可以在flex里面调用了. [Bindable] private var chart:String='{ "elements": [ { "type": "bar","alpha":0.8,"colour":"#663366", "values": [ 0 ] } ], "title": { "text": "...
木偶的可绑定路径参数此路由器允许您使用前导@char 绑定控制器方法以路由参数。 路由器示例: appRoutes: { 'users/@user/edit' : 'onUserEdit' , 'users/@user/copy' : 'onUserCopy' , '*default' : 'onDefault' } ...
提供使用流利的语法创建自定义@observable功能: @observable.custom / @observable.custom() 提供4个基本的自定义可观察对象: @observable.date , @observable.number , @observable.string , @observable....