`
人帅刀猛
  • 浏览: 39438 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

ActionScript 类中属性的 PropertyChangeEvent

    博客分类:
  • flex
 
阅读更多

SWF: ×××××××××××××××
PropertyChangeEvent 类代表对象的一个属性发生更改时传递到事件侦听器的事件对象,并提供有关更改的信息。此事件由集合类使用,并且是集合了解其提供的数据发生更改的
唯一方式。Flex 数据绑定机制也使用此事件。
但是,不是所有自定义类的属性都会监听到PropertyChangeEvent的抛出,这个跟属性的写法有关系!
 
比如下例中的 User 类的属性, 他们都有不一样的写法:
{
name:String
name1:String //getter && setter 属性
name2:String //getter && setter 方法 (被挖空的,没有中间变量的 getter && setter 属性)
name3:String //绑定事件的 getter && setter 属性 (当某事件抛出时该方法会再执行,类似事件监听器)
name4:String //抛出事件的 getter && setter 属性 (属性改变,抛出事件告诉大家去更新;getter上绑定了该事件) 
 
      
}
 
大家看看各种写法的属性,再试试下面的操作,会不会发现一些规律:
 ××××××××××××××××××××× 
结论:
 
1.对于一搬的属性,可以监听到 PropertyChangeEvent 事件;
2.对于一个"干净的"getter && setter 属性可以按1得出的结论来看待;
3.一个属性的改变由setter负责抛出 "PropertyChangeEvent", getter 负责做这个事件的监听器, 从而更新显示这个属性的值;
4.对于一个绑定了事件的"getter"方法,他听不到自己的"PropertyChangeEvent".(好像是被新的事件绑定覆盖了, 没仔细研究,曾经试过在getter上再绑定一
 
个"PropertyChangeEvent", 没成功! 有兴趣的朋友可以试试.)
5.虽然这样更新数据显示没有问题, 但是"PropertyChangeEvent"还是不会抛出来! 这会带来一些麻烦:一些类如果通过属性改变时抛出的"PropertyChangeEvent"来做更新操作的
 
话, 这个属性的改变会检测不到。 如 CollectionEvent 中的 CollectionEventKind.UPDATE.
 
建议:
 
如果有1)写法的朋友请改成2), 因为2)的setter自己就会抛出"PropertyChangeEvent"告诉getter要怎么做,
而且1)这样写getter会把它原来的(类似[Bindalbe("PropertyChangeEvent")])事件绑定给覆盖掉的 :)
1)
private var _name4:String = "email4";
[Bindable("change")]
public function get name4():String {
return _name4;
}
public function set name4(val:String):void {
_name4 = val;
dispatchEvent(new Event("change"))
}
 
2)
private var _name1:String = "name1";
public function get name1():String {
return _name1;
}
public function set name1(val:String):void {
_name1 = val;
}

文章来源: 我要学flash网(www.51xflash.com) 原文地址:http://www.51xflash.com/article/flex/201105/18-13957.html

分享到:
评论

相关推荐

    MXML 基本语法和ActionScript 类的标签使用

    MXML语法简洁且直观,它允许开发者通过标签来声明和配置UI组件,这些标签与ActionScript 3.0中的类和属性相对应。在编译过程中,Flex会解析MXML代码并生成SWF文件,其中包含了对应的ActionScript对象。 **MXML基本...

    ActionScript3.0从零基础学习类

    在ActionScript3.0中,更加强调类和对象的使用,鼓励开发者摒弃在组件(如MC和BUTTON)上直接编写代码的习惯,转而使用面向对象的方法编写代码。 ### ActionScript3.0基础概念 1. **包(Package)**:包在...

    flex中文帮助 ActionScript3.0中文帮助

    ActionScript 3.0 语言和组件参考概述Adobe Flex 2 语言参考ActionScript 3.0 语言和组件参考是适用于 Flash® Player 应用程序编程接口 (API) 的参考手册。 Adobe Flex 2 语言参考ActionScript 3.0 语言和组件...

    ActionScript3.0类大全(Word格式)

    19. **Array 类**:Array 类提供了创建和操作数组的内置方法和属性,是 ActionScript 中处理有序数据的主要工具。 20. **Back 类**:属于 fl.motion.easing 包,Back 类包含几个缓动函数,用于创建具有回弹效果的...

    ActionScript语句中文全解

    类可以包含属性(properties)和方法(methods)。 3. 继承:通过extends关键字实现类的继承,如`class ChildClass extends ParentClass {}`。 三、事件处理 1. 事件监听:使用addEventListener方法添加事件监听器...

    ActionScript 3.0 API文档(CHM+HTML最新中文完整)

    此版本包括支持 Adobe AIR 运行时环境的新 ActionScript 类、方法和属性。 在可能的情况下,特定于 AIR 的新项目都以其名称旁的这个小图标作为标志: 本手册提供了 ActionScript 语言中所支持元素的语法和用法信息...

    ActionScript3中文手册

    在ActionScript3中,首先,我们关注的是它的类型系统。与AS2相比,AS3引入了强类型系统,这意味着变量在声明时必须指定类型,如int、uint、Number、String等。这种改变提高了代码的稳定性和效率,但也对开发者的编程...

    ActionScript 3.0 CookBook 中文翻译

    ActionScript 3.0引入了强类型、类和包的概念,使得代码更加严谨和模块化。通过学习ActionScript 3.0,开发者可以创建交互式网页内容、富互联网应用程序(RIA)以及复杂的动画效果。 本书的中文翻译版为国内的...

    Actionscript中文帮助文档

    8. **内置类库**:ActionScript 3.0包含丰富的内置类库,如Math类用于数学运算,Date类处理日期和时间,Array和Vector类处理数组数据。 9. **图形和动画**:ActionScript 3.0提供了强大的图形绘制和动画制作能力,...

    ActionScript3中文教程

    4. 显示对象:介绍DisplayObject类及其子类,如Sprite和MovieClip,以及它们的属性和方法。 5. 事件处理:讲解如何监听和响应AS3中的事件,如点击事件或加载完成事件。 6. 网络编程:阐述如何使用XMLSocket和...

    ActionScript3的中文api和ppt讲解

    ActionScript3的API文档详细列举了语言的所有内置类、方法和属性,是开发过程中的重要参考工具。CHM(Compiled HTML Help)是一种微软开发的帮助文件格式,它将多个HTML页面打包成一个文件,方便用户离线查阅。中文...

    actionscript3.0中文教程

    它基于ECMAScript 4草案,虽然最终ECMAScript 5与之不同,但ActionScript 3.0仍保留了许多原型继承和类的概念。 二、语法特性 1. 类和对象:AS3采用了类和对象的面向对象编程模式,允许开发者创建自定义类型。类...

    actionscript概述及基础

    在ActionScript 3.0中,程序设计的基础是类,这与C#和Java等其他面向对象语言类似。这意味着开发者可以创建自定义的类,通过封装、继承和多态性来组织代码。这种设计方式提高了代码的可维护性和复用性,使得大型项目...

    flex中actionscript动态调用remoteobject类

    ### Flex中ActionScript动态调用RemoteObject类 在Flex中,使用ActionScript动态调用RemoteObject类是一种常见的实现客户端与服务器端交互的方式。通过这种方式,开发者可以在客户端灵活地调用服务器端的服务,并...

    ActionScript 3.0开发编程手册中文

    类之间可以通过继承实现代码复用,一个类可以继承另一个类的属性和方法。 三、事件驱动编程 AS3是事件驱动的,这意味着程序的执行基于用户交互或系统事件。事件监听器注册到特定的对象上,当事件发生时,监听器的回...

    flash actionscript 2.0 语言参考,中文,清晰,pdf

    在ActionScript 2.0中,变量和数据类型是基础,包括数值类型(如整型和浮点型)、字符串、布尔型,以及动态和弱类型特性。了解这些基础数据类型及其用法对于编写有效代码至关重要。此外,函数和方法的使用也是...

    Flex ActionScript3.0 API中文帮助文档

    在Flex和ActionScript 3.0中,API包括了各种组件、服务和库,使得开发者能够创建功能丰富的Flex应用程序。 ActionScript 3.0相对于之前的版本进行了重大改进,例如: 1. **类型系统**:AS3引入了强类型系统,提高...

    actionscript3官方中文帮助文档CHM

    5. **ActionScript3的库**:AS3标准库包含许多内置类,如`Math`、`Date`、`XML`和`JSON`,这些类提供了处理数学运算、日期时间、XML数据和JSON解析的功能。 6. **错误处理**:AS3提供了`try...catch`语句进行异常...

    Adobe Flash 中的 ActionScript 2

    ActionScript 2.0 是 Adobe Flash 平台中用于创建交互式内容的主要脚本语言。在 Flash 中,ActionScript 允许开发者编写控制动画、处理用户输入、与服务器通信等功能的代码。下面是关于 ActionScript 2.0 中变量、...

    actionscript3.0类的关系图

    在ActionScript 3.0中,类是对象的蓝图,定义了对象的属性和方法。类的关系图展示了类的层次结构,即类的继承链。继承是面向对象编程的一个核心概念,允许一个类(子类或派生类)继承另一个类(父类或基类)的特性,...

Global site tag (gtag.js) - Google Analytics