Cairngorm中Model数据变化后如何自动调用一个自定义函数?

在Flex的开发过程中,尤其是在使用Cairngorm的时候,总会遇到需要在Model的属性值改变后,需要调用一个指定的函数。传统的解决方法是使用一个Setter方法,在这个方法中首先对属性赋值,然后调用指定的函数,比如:

---------------------------
[ChangeEvent("deleteEnabledChange")]
public function get deleteEnabled() : Boolean {
return _deleteButtonVisible;
}

public function set deleteEnabled(value : Boolean) : Void {
_deleteButtonVisible = value;
SimpleButton(deleteButton)._visible = false;
dispatchEvent(new Event("deleteEnabledChange", this));
}
--------------

但是现在我们有一个更简洁的解决之道
首先添加这样一个类
package com.adobe.ac.util
{
public class Observe
{
public var handler : Function;

public function set source( source : * ) : void
{
handler.call();
}
}
}
然后就可以使用这个作为标签了。
<util:Observe source="{ model.myProperty }"
handler="{ this.myFunction }"/>
使用了这样的一个标签后,今后嘦是对model.myProperty进行赋值,就会调用myFunction
这个号称世上最小的标签是不是很好用啊?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingapex1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值