绑定的细枝末节

  1. 绑定的三种方式路人皆知了,也就是{}、<mx:Binding>和As中自定义事件进行绑定,但关于定义事件还是有点讲究的。
  2. 定义事件要在preinitialize里面进行,因为一旦initialize了,那么所有的绑定都会执行,那么这个时候很可能就出现绑定没有成功的情况了,另外静态属性和只读属性只能绑定这么一次。
  3. 我们一般不会采取事件处理的方式,而是大多采用编译中绑定的方式,即头两种
  4. 在UIComponent中有一个方法,叫executeBindings()方法,它可以进行手动触发所有以UIComponent为目标的绑定立刻执行。
  5. 还可以用一个观察者,ChangeWatcher来监测变化。
  6. 对于绑定失效的问题有两种情况,一种是对象的属性是可绑定的,但是这个对象不可绑定,一种是对象是可绑定的,但是属性却不可绑定。private var foo:MyObject=null;<mx:TextArea text="{foo.name}"/>或者[Bindable]  private var foo:MyObject=null; 但name属性是不可绑定的 <mx:TextArea text="foo.name"/>
  7. 如果把数组作为数据绑定的源时,应该使用ArrayCollection,因为在addItem或者addItemAt时,会触发ArrayCollection变化的事件。
posted @ 2012-06-20 15:19  斯皮尔伯伯  阅读(104)  评论(0编辑  收藏  举报