`
whp0731
  • 浏览: 170426 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

flex数据绑定

    博客分类:
  • flex
阅读更多

Flex 3 数据绑定

一、数据绑定概念

  • 数据绑定:当数据源对象的数据发生变化时,目标对象的数据会自动更新,而不需要我们再编写代码去强制更新
  • 绑定实际也是借助事件机制来完成的,当目标使用了数据绑定的时候,目标对象就会监听数据源对象的某一固定事件。当数据源发生变化时,数据源会派发改变事件(ChangeEvent),通知目标对象更新数据。这个过程由Flex完成,不用我们手动干预。
  • 绑定的前提条件:源对象的数据和目标对象的数据格式相同。

二、方法

  • 1.在对象的属性标签中,使用{ }把数据源直接绑定到对象的某个属性上。
  • 2.在对象的属性标签中,使用{ }把某个函数的返回值作为数据源绑定到对象属性上。

       函数的参数要使用[Bindable]绑定符号

n       [Bindable]

       [Bindable(event=eventname)]

       Event表示当数据源发生变化时,数据源所在对象派发的事件类型,它是可选项,默认的事件名是“propertyChange”,一般情况下只需要使用[Bindable]标签

  • 3.使用<mx:Binding>标签

       source=“…” destination=“…”

参考例子BindDemo1

 

 

三、数据内容的标签<mx:Model>标签

 

<mx:Model id=“books”>

<books>

<book>

<name>FLEX教程</name>

<author>张三</name>

</book>

<book>

<name>JAVA高级编程</name>

<author>李四</name>

</book>

</books>

</mx:Model>

 

四、Object对象是一个动态对象

       var o:Object=new Object();

       o.name=“Jack”;

       o.age=20;

       o.address=“北京海淀100”;

  • Model中的节点数据默认是Object类型,作数据源必须转换成ObjectProxy类型。

此处是运用了<mx:Binding source 。。。。内部会转换的

五、数据绑定说明

  • [Bindable]标签用于函数时,只能在settergetter方式定义的函数前使用。称为函数级别绑定。
  • [Bindable]标签用于公有类时,这个类的所有公有变量、 settergetter方式定义的函数都可以用于绑定。成为对象级别绑定。

BindingUtils和动态绑定

  • Mx.binding.utils
  • BindingUtils提供了两个静态方法处理动态绑定
  • bindProperty(site:Object,prop:String,host:Object,chain:Object,commitOnly:Boolean=false)
  • bindSetter(setter:Function,host:Object,chain:Object,commitOnly:Boolean=false)

 

综合例子参考例子BindDemo1中的binddemo4.mxml

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics