自定义类的数据绑定在getter/setter方法对上

在自定义类中使用数据绑定,通常是这样:

class aaaaa{
private var _width;
private var _height;

  [Bindable]
  public function get width():int{
   return _width;
  }
  [Bindable]
  public function get height():int{
   return _height;
  }
  
  public function set width(value:int):void{
   _width = value;
  }
  public function set height(value:int):void{
   _height = value;
  }

。。。

}
然后,在一个MXML文件中使用这个类及其属性数据绑定到{ccccc.width}和{ccccc.height},

今天,实际操作时发现,当调用该类的changesize()方法时,发生如下情况:

public changesize(){
 _height = 300;  //本句不能触发数据绑定
 width =400;  //本句能触发
}

由此猜测:当自定义类支持数据绑定时,内部是放在在public属性上或getter/setter方法对中实现的,而不是private的属性中,当我们绕过这些方法,更新private属性时,不能触发数据更新事件的分发。除非,我们在类内部也要用setter方法来赋值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值