私のアプリは、モデルによってディスパッチされたイベントに応答してビューを更新します。しかし、モデルが変更されていないのに、ビューを更新する必要がある場合はどうでしょう。たとえば、ポップアップを閉じて再度開きました。表示されるデータは変更されていませんが、ポップアップ メディエーターとビューを再作成する必要があります。私の現在の解決策は、次のようにメディエーターの onRegister() メソッドで初期化を強制することです。
// Inside of PopUpMediator.as
[Inject]
public var popUpModel:IPopUpModel;
[Inject]
public var popUpView:PopUpView;
override public function onRegister()
{
// Force initialization if the model hasn't changed
popUpView.foo = popUpModel.foo;
// Event based initialization
addContextListener(PopUpModelEvent_foo.CHANGE, foo_changeHandler);
}
モデルをメディエーターに注入するのは良い考えではないので、モデルが変更されていないときにビューを初期化する最良の方法は何ですか?