求助:如何在flex4中监听一个变量的值的改变
查询了很多资料,都说可以用this.watch,但是在flex4里似乎没有这个功能了。现在需要监听一个变量的改变,根据值的改变来激活某一函数。如何可以实现?谢谢!如果可以...
查询了很多资料,都说可以用this.watch,但是在flex4里似乎没有这个功能了。现在需要监听一个变量的改变,根据值的改变来激活某一函数。如何可以实现?谢谢!
如果可以实现的话,那么当该变量的值为某一值时,需要停止或者取消该监听进程,又如何实现? 展开
如果可以实现的话,那么当该变量的值为某一值时,需要停止或者取消该监听进程,又如何实现? 展开
1个回答
展开全部
可以每次更改变量值时候,发出一个事件。比如要监听的对象是str
private var _str:Object;
public function set str(value:Object):void{
if(_str!=value){
_str = value;
dispatchEvent(new Event("STR_CHANGED"));
}
}
[Bindable("STR_CHANGED")]
public functin get str():Object{
return _str;
}
可以在容器初始化的时候加入监听事件
**.addEventListener("STR_CHANGED", handlerFunction);
在handlerFunction中,判断str是否是特殊值,是的话移除监听函数就可以了
private var _str:Object;
public function set str(value:Object):void{
if(_str!=value){
_str = value;
dispatchEvent(new Event("STR_CHANGED"));
}
}
[Bindable("STR_CHANGED")]
public functin get str():Object{
return _str;
}
可以在容器初始化的时候加入监听事件
**.addEventListener("STR_CHANGED", handlerFunction);
在handlerFunction中,判断str是否是特殊值,是的话移除监听函数就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询