`
Blackbaby
  • 浏览: 185071 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Flex4中[Bindable]做了什么?

阅读更多

      

      Flex里面[Bindable]相信大家都用过,其实这个是给编译器看的,那编译器到底做了什么呢?今天特地去研究了下:

首先在fb的Flex编译器里面加上编译参数-keep-generated-actionscript=true,然后会生成一个generated目录,里面就是从mxml生成的as文件。

 

      比如你在mxml文件里定义了[Bindable]public var foo:String;则会生成如下的as3代码:

      

 [Bindable(event="propertyChange")]
    private function get foo():String
    {
        return this._3712foo;
    }

    private function set foo(value:String):void
    {
        var oldValue:Object = this._3712foo;
        if (oldValue !== value)
        {
            this._3712foo = value;
           if (this.hasEventListener("propertyChange"))
               this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "foo", oldValue, value));
        }
    }

 

    

分享到:
评论
2 楼 Blackbaby 2012-03-08  
wangronaldo 写道
大哥 您这研究的 也 太少了点吧  我都还没看到什么就没了

呵呵   只是记录下[Bindable] 内部是通过事件通知的  
1 楼 wangronaldo 2012-03-08  
大哥 您这研究的 也 太少了点吧  我都还没看到什么就没了

相关推荐

    Flex4 AIP 中文说明

    5. **MXML改进**:MXML作为Flex的声明式语言,在Flex4中变得更加强大。它可以用来定义组件、事件处理函数甚至ActionScript类。MXML和ActionScript的结合使用,让代码组织更加清晰。 6. **ActionScript优化**:Flex4...

    Flex4 Declarations in ActionScript

    《Flex4声明式编程在ActionScript中的应用探析》 Flex4是Adobe Flex框架的一个重要版本,它引入了全新的ActionScript编程模型,显著提升了开发效率和应用程序的表现力。本篇文章将深入探讨Flex4中的一项核心特性...

    flex 4 生命周期

    Flex 4的生命周期改进也体现在事件处理和元数据的使用上,例如` IOErrorEvent`和`StatusEvent`等事件,以及`[Bindable]`、`[SkinPart]`等元数据,这些都增强了组件与外部数据的交互和皮肤的自定义。 尽管Adobe提供...

    flex4-binding-custom-Class.rar_flex_flex4

    在Flex 4中,数据绑定是一项强大的特性,它允许开发者创建动态、响应式的用户界面,无需编写大量的事件处理代码。本教程将深入讲解如何在Flex 4中对自定义类进行数据绑定,通过一个实际的MXML文件和AS文件示例来阐述...

    Flex4语言参考手册

    在《Flex4语言参考手册》中,你将找到关于Flex4框架及ActionScript3.0的详细信息。手册通常分为几个主要部分,包括语言基础、类库、组件、事件处理、数据绑定、动画和效果等。 1. **语言基础**:这部分涵盖了...

    Flex Bindable 的用法

    `[Bindable]`是Flex中最常用的元数据之一,它主要用于实现数据绑定功能。数据绑定是Flex应用中的核心概念,它允许视图组件与应用程序模型之间的数据自动同步。 元数据不是语言本身的一部分,而是为编译器设计的,...

    flex4_读书笔记

    Spark 组件是 Flex4 中新增的,位于 `spark.*` 包下,而 MX 组件是 Flex 之前的版本中定义的,位于 `mx.*` 包下。Spark 组件强调样式和皮肤的分离,提供更现代的外观和布局方式,而 MX 组件则保留了传统的数据可视化...

    flex4+asp.net 连接数据库

    2. **配置Flex4客户端**:接下来,在Flex4客户端中配置Web Service调用逻辑,处理返回的数据,并将其展示给用户。 #### 三、具体实现步骤 ##### 1. 创建ASP.NET Web Service 在本例中,我们创建了一个名为`...

    flex实现 ComboBox中下拉checkbox

    本文将深入探讨如何在Flex中的ComboBox实现下拉列表中包含Checkbox的功能,并结合移动面板和可调整大小的面板实例,为你提供一个完整的解决方案。 首先,我们要理解Flex中的ComboBox组件。ComboBox继承自ListBase类...

    flex与JS交互示例

    在使用ExternalInterface之前,需要确保在Flex应用中启用它,这可以通过在Flash Player设置中开启“Allow JavaScript Access”选项来实现。 2. **调用方向**: - **Flex调用JavaScript**: 使用`ExternalInterface....

    基于Flex的ArcGIS开发经典例子说明文档

    本案例旨在展示如何通过ArcGIS API for Flex在Flex应用程序中实现对自定义的ArcGIS.Server 9.3中发布的地图进行浏览,这是一项基础而重要的入门技能。 **准备工作:** 1. 在ArcGIS.Server 9.3中发布一个名为“usa”...

    flex 学习资料汇总

    - **事件监听器添加**:在Flex中,事件监听器通常使用ActionScript添加。例如,为按钮添加点击事件处理函数: ```as btn.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(event:...

    Flex分页技术

    在Flex开发中,数据展示通常会涉及到大量的数据处理,如分页、排序、过滤和关键字搜索等。在Flex中,我们可以使用DataGrid组件来实现这些功能,提高用户体验并优化性能。 1. **Flex DataGrid 分页技术**: Flex ...

    Flex 2 中的元数据标签

    在这个例子中,`phoneNumber`属性被标记为`[Bindable]`,这意味着每当其值发生变化时,Flex框架会自动发送一个`Change`事件。此外,我们还可以定义一个监听该事件的方法,如`onPhoneNumberChanged`,以便于处理数据...

    Flex与Java通过实体传递数据

    在Flex中,为了能够将前端的数据对象与后端的服务进行有效映射,通常会在Flex端定义一个实体类,并使用`Bindable`和`RemoteClass`注解来关联前后端的数据模型。 ```as [Bindable] [RemoteClass(alias=...

    flex combobox 输入过滤实例

    在本实例中,我们将深入探讨如何利用Flex 4实现Combobox的输入过滤功能,这将帮助用户在大量数据中快速定位所需选项。 1. **Combobox基础** Flex中的Combobox由两部分组成:一个可编辑的文本输入字段和一个下拉...

    flex学习心得

    - **Spark** 组件:这些组件是在Flex 4中引入的新一代组件,它们提供了更好的性能和更高级的功能,比如改进的布局管理、简化的效果实现等。 - **MX** 组件:这些组件源自早期版本的Flex,虽然它们仍然可用,但Adobe...

    flex数据绑定的原理

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

    Flex4.5常见问题总结

    Spark组件是Flex4中新增的,设计更为现代,侧重于性能优化和模块化。MX组件则沿用了Flex早期的组件结构,适用于向后兼容的需求。两者在样式和皮肤的使用上存在差异,Spark采用了更加灵活的样式系统。对于容器组件,...

Global site tag (gtag.js) - Google Analytics