0

値が変更されたとき(つまり、ユーザーがログインしたとき)にAirアプリケーションでイベント(関数)をトリガーしようとしていますが、これまでのところ、関数をトリガーすることに成功していません...

私は次のコードを持っています:

ユーザークラス:

[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は他のオプションを提供していません。

誰かが私のコードが失敗する場所を見たり、これを達成するためのより良い方法を知っていますか?

4

1 に答える 1

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.
}
于 2012-11-30T11:11:25.633 に答える