Flex3绑定

<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="callLater(init)" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600" fontSize="12">
 <mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   /*
   在Flex3中我个人习惯使用的绑定方式为直接为元素添加[Bindable]标签,并在需要进行绑定的地方使用Bindable
   下面列出一系列简单的例子来说明这种方法的灵活多变的应用。你可以发现,Flex3实际上就是面向数据的设计语言。
   注:所有Flex3程序均考虑在网络情况下的正常运行并且拥有自己的解决方案。
   */
   //实例1:简单值绑定
   [Bindable]
   public static var _str1:String = "";
   [Bindable]
   public static var _str2:String = "";
   //实例2:true,false的绑定
   [Bindable]
   public static var _year:int = 18;
   //实例3:三元表达式
   //实例4:方法
   [Bindaable]
   public static var _money:int;
   public static function changeValue(year:int,hasMoney:int):Boolean
   {
    //你可以在这里添加逻辑判断,当然方法可以有更多的参数,
    //但是需要注意,方法中被传入的参数需要至少1个属于具有[Bindable]标签的,否则你会发现显示并不会立即改变
    //也就是说,当你用到方法绑定来返回你需要的信息时候,方法必须是具有参数的,并且满足标签条件
    return false;
   }
   private static function init():void
   {
    //你可以在这里添加类似定时器或帧监听来不断的改变你要测试的值
    /*上面给出的为最常见的绑定办法,当然同样根据不同的组件(包括自定组件同样可以绑定更多类型
    比如数组的绑定需要用到ArrayCollection),数据Bindable在Flex3中实在太过于灵活,只要你能想
    到的,都可以在Mxml与基于UI开发的组件中进行自动绑定操作,无论是对象,方法,字符串。
    下面给出在数据绑定时的注意事项与易错处:
    1,如果你拥有一个静态数据对象,并且整个应用程序只会有一个这样的数据对象,那么最好将它在
     Application的初始化过程中进行引用。比如new XXX();这里值做声明不做赋值,为什么呢?当你的
     应用程序具有其他Module文件的时候,要想所有Module都能引用到这个数据对象并保持数据一致,
     那么就按照我说的做。否则你会发现实际上静态对象在新的模块中会被重新初始化,那么值钱赋值
     就会失效。
    2,自定义对象的属性设置set get方法可以来绑定Fuction以及其他类型的数据。而只声明的公共成员变量
     同样可以灵活的进行数据绑定,所以并非所有的都需要编写方法
    3,在大小判断中{}标签里是不允许有<符号的,那么一般换用>=符号来做操作
    4,如果同一个控制绑定中出现了多个判断条件,一般我推荐利用方法传入多个参数的方式进行绑定,同时
     在方法里面你还可以根据判断的结果来改变提示信息的绑定。同样,你如果不想写方法进行绑定,也可以
     利用三元表达式嵌套的方式进行绑定
    5,一般一个显示对象内部绑定数据,如果数据的维护在上层或其他管理对象中,一般我们直接用此显示
     对象的Data进行赋值操作,所有Data都是自动绑定的,所以你不需要再专门考虑绑定的事情,而现实对象
     自身只需要对自己的Data进行显示即可,更由于Data属于可扩展对象,所以他很方便。
    6,在用到具有翻页功能组件时,建议你在每页条目不多的情况下,提前创建显示所需条目书,然后用自定义
     翻页组件以及对每个组件的Data进行绑定的方式控制ArrayCollection来达到显示效果,这样你会发现你
     不需要去关心显示的问题。
    7,所有你可以在mxml源代码页面提示出的字段都可以进行绑定,包括x,y,right等,但是不建议绑定拼装
     界面的缩放,这样你会发现你的界面在不停的闪动。
    8,所有绑定处,如果界面构成是不改变的,就只需要保证最顶层具有[Bindable]标签,比如你具有一个数组,
     同时将ArrayCollection.getItemAt(0..n).xxx分别绑定到了不同的界面上,而这个时候你要做的操作是控制
     ArrayCollection中的数据而非改变其中某个对象的某个值,那么你只需要给数组添加标签。但是编译器会
     提示你不能绑定到指定的属性,不用理会他!你要做的就是remove和add操作后reflush一次就ok了。
     因为绑定的数据对象显示改变原理还是基于事件的,如果最顶层的数组发生变化,他势必会通知内部其他
     相关绑定到的显示界面重新获取数据。但是,当你不需要操作数组而只想操作数组中某些对象值的时候,
     你便需要在显示到并且可能改变的变量上同样添加标签
    9,一般我建议大家在非静态数据对象中不要使用static的数据用于绑定。具体原因就等大家自己去发现吧。
    10,数据对象在不同分布式模块中被重复引用并不会导致重复编译。*/
    
    //其他更多的科学灵活的绑定规范就更具自己的需要慢慢发现吧
   }
  ]]>
 </mx:Script>
 <mx:Label x="42" y="25" text="实例1:的绑定对象{_str1}这里也可以添加"/>
 <mx:Button enabled="{_year>=18}"  x="42" y="53" label="满18岁了吗?->"/>
 <mx:Button enabled="{_year>=18}"  x="42" y="85" label="{_year>=18?'你已经成年了':'未成年'}"/>
 <mx:Button enabled="{changeValue(_year,_money)}"  x="42" y="117" label="{_year>=18?'你已经成年了':'未成年'}"/>
</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值