`

FLEX元标签_Bindable

    博客分类:
  • flex
阅读更多
1 概述
       [Bindable]是元标签,元标签不是语法的一部分,而是专门给编译器用的,是告诉编译器做某些事情。
       [Bindable]的作用是:告诉 flex编译器给某些某些东西建立绑定关系

       当你在没有添加事件设置的情形下使用 Bindable 标记时,propertyChange 是将被下发的默认事件类型。 因此,[Bindable] 标记等同于 Bindable(event="propertyChange")或[Bindable("propertyChange")]。

下面的代码

[Bindable]
public var testData:String;
由于没有设置事件名称,编译器将创建下列代码:
[Bindable(event="propertyChange")]

public function get testData():String
{
   return this._1147269284testData;
}

public function set testData(value:String):void
{
   var oldValue:Object = this._1147269284testData;

   if (oldValue !== value) {
      this._1147269284testData = value;
      if (this.hasEventListener("propertyChange"))
         this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent
         (this, "testData", oldValue, value));
      }

}

2 Bindable使用方式
2.1 在public class定义前
       [Bindable]元数据标签绑定所有的作为变量定义的public属性,并且所有的public属性都定义有getter和setter方法。在这种情况下,[Bindable]没有参数,例如:
[Bindable]
public class TextAreaFontControl extends TextArea {

}
       flex编译器自动创建一个事件名叫propertyChange用于所有的公有属性,这些属性可以作为绑定表达式的源。这种定义等同于
       [Bindable(event="propertyChange")]

       如果属性值的改变与原来相同,flex并不传递这个事件或更新属性。

2.2 在类的属性之前
       格式为:
[Bindable]
public var foo;

2.3 在属性的getter或setter方法之前
       必须同时定义getter和setter方法
[Bindable]

public function get shortNames():Boolean {
    ...
}

public function set shortNames(val:Boolean):void {
    ...
}

2.4 使用自定义事件
使用自定义的事件名,如:
[Bindable(event="changeShortNames")]

public function set shortNames(val:Boolean):void {
    ...
    // Create and dispatch event.
    dispatchEvent(new Event("changeShortNames"));
}

// Get method.
public function get shortNames():Boolean {
    ...
}

参考文献
1.Flex 2 中的元数据标签. http://www.iteye.com/topic/152024
2.如何使变量进行Flex数据绑定. http://developer.51cto.com/art/201007/215153.htm
分享到:
评论

相关推荐

    Flex Bindable 的用法

    什么是元数据(metadata):[Bindable]大概又是Flex用得最多的元数据了。

    FLEX企业应用开发实战.part1

     2.4.5 使用Bindable元数据标记  2.4.6 绑定到函数、对象和数组  2.4.7 使用可绑定属性链进行工作  2.5 Flex中的组件化编程  2.5.1 认识Flex组件和组件容器  2.5.2 组件生命周期与布局  2.5.3 组件的...

    FLEX企业应用开发实战.part2

     2.4.5 使用Bindable元数据标记  2.4.6 绑定到函数、对象和数组  2.4.7 使用可绑定属性链进行工作  2.5 Flex中的组件化编程  2.5.1 认识Flex组件和组件容器  2.5.2 组件生命周期与布局  2.5.3 组件的...

    Flex企业应用开发实战源代码

    2.4.5 使用Bindable元数据标记 40 2.4.6 绑定到函数、对象和数组 43 2.4.7 使用可绑定属性链进行工作 46 2.5 Flex中的组件化编程 46 2.5.1 认识Flex组件和组件容器 47 2.5.2 组件生命周期与布局 51 2.5.3 组件...

    双向数据绑定JS库Bindable.js.zip

    Bindable.js 实现了灵活、快速的双向数据绑定的 JavaScript 库。 Two-way data binding means linking properties of two separate objects - when one changes, the other will automatically ... 标签:Bindable

    DN资源查看器

    GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_copy_buffer GL_EXT_...

    flex导出excel的代码

    [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("行的数据分别是...

    Flex调用xml通过DataGrid遍历简单示例

    [Bindable] private var slides:ArrayCollection private function resultHandler(event:ResultEvent):void { slides = event.result.album.slide; } private function faultHandler...

    flex 绑定元数据

    算是flex初学者的的笔记吧,首先可以概览一下下文中的代码,然后我们主要是看看[Bindable]的这种用法。

    bindable:使用Aurelia JS内置的设计系统,可以更快,更轻松地进行Web开发

    Bindable是一个设计系统,旨在在工具中提供视频产品,以构建紧密一致的界面。 Bindable将为设计者和工程师提供一种通用的模式。 Bindable是作为插件开发的,并使用构建。 目录 背景 我们是由设计师和工程师组成的...

    flex实列demo

    *" creationComplete="initTree();... change="iFrame.source=tree.selectedNode.path" /> ... // TODO: determine whether we can ... // TODO: add some links here to Flex sites } ]]> </mx:Application>

    AngularJS基础 ng-non-bindable 指令详细介绍

    本文主要讲解AngularJS ng-non-bindable 指令,这里帮大家整理了ng-non-bindable指令的基本知识资料,有需要的小伙伴可以参考下

    flexjava交互

    [Bindable] var result:String; function sendRequest(){ var name=name1.text; var password=password1.text; ro.validateLogin(name,password); ro.addEventListener(ResultEvent.RESULT,results); } function ...

    bindable-object.js:数据绑定对象

    var BindableObject = require ( "bindable-object" ) ; var person = new BindableObject ( { name : "craig" , last : "condon" , location : { city : "San Francisco" } } ) ; person . bind ( "location....

    bindable-component:公开用于绑定处理程序的可扩展的react组件

    安装npm install --save bindable-component用法import { BindableComponent } from 'bindable-component' ;// Aternatively// import { BaseComponent } from 'bindable-component';class MyComponent extends ...

    open flash chart 2 swc包

    open flash chart 2 的swc文件包 可以在flex里面调用了. [Bindable] private var chart:String='{ "elements": [ { "type": "bar","alpha":0.8,"colour":"#663366", "values": [ 0 ] } ], "title": { "text": "...

    aurelia-typed-observable-plugin:Aurelia的可观察和可绑定装饰器的增强实现。

    提供4个基本的自定义可观察对象: @observable.date , @observable.number , @observable.string , @observable.boolean ,5个@bindable以及额外的内置值: @bindable.booleanAttr @bindable 安装与提醒 npm i ...

    backbone.marionette.bindable-router:带有木偶可绑定参数的路由器

    木偶的可绑定路径参数此路由器允许您使用前导@char 绑定控制器方法以路由参数。 路由器示例: appRoutes: { 'users/@user/edit' : 'onUserEdit' , 'users/@user/copy' : 'onUserCopy' , '*default' : 'onDefault' } ...

Global site tag (gtag.js) - Google Analytics