【问题标题】:Trigger an Event when value has changed当值改变时触发事件
【发布时间】:2012-11-30 10:18:39
【问题描述】:

我正在尝试在值更改时(即用户登录时)触发空中应用程序中的事件(函数),但到目前为止我还没有成功触发我的函数...

我有以下代码:

一个用户类:

[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 header的header组件:

<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 没有给我带来其他选择。

有人知道我的代码在哪里出错,或者知道更好的方法来完成这个吗?

【问题讨论】:

    标签: actionscript-3 apache-flex data-binding user-controls flash-builder


    【解决方案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.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      相关资源
      最近更新 更多