当一个值发生变化时(即当用户登录时)我试图在空中应用程序中触发一个事件(函数),但到目前为止我还没有成功触发我的函数......
我有以下代码:
用户类:
[Bindable]
public class User
{
private var m_rssLink:String;
public function get rssLink():String{
return m_rssLink;
}
public function set rssLink(value:String):void{
m_rssLink = value;
}
}
具有id标头的标头组件,用户登录并定义用户:
<fx:Declarations>
<user:User id="user" />
</fx:Declarations>
最后是带有actionscript的mxml代码:
private var loginWatcher:ChangeWatcher;
protected function creationCompleteHandler(event:FlexEvent):void
{
this.loginWatcher = ChangeWatcher.watch(header.user, ["rssLink"], sendRequest);
}
到目前为止,我试图以很多方式触发sendRequest函数(使用[bindable(event =“”)],使用bindsetter,...)到目前为止,Google没有给我任何其他选项。< / p>
任何人都会看到我的代码失败的地方,或者知道更好的方法来实现这个目标吗?
答案 0 :(得分:1)
好吧,您已经为User创建了一个setter属性。用它来跟踪用户状态。
public function set rssLink(value:String):void{
if (m_rsslink==value) return;
m_rssLink = value;
dispatchEvent(...); // use correct event(s) for certain values, then catch
// them in your watcher class. Use FlexEvents if you want.
}