フラッシュ AS3 と puremvc を使用してアプリを作成していますが、ビュー メディエーターを正しく処理する方法がちょっとわかりません...
OK - 3 つまたは 4 つの異なるビューがあり、それぞれが独自のメディエーターによって管理されています。各ビューは単独でのみ表示されます。1つが表示されている/ステージ上にある場合-他のものは非表示/ステージから削除されています(単純化されていますが、一度に1つずつ表示される個別のページと考えることができ、ナビゲーションバーにより、ユーザーは好きなときにビューを変更できます)
最初に、私が作成してステージに追加した各ビューメディエーターは、独自のビューコンポーネントであるため、そのビューを表示または非表示にする「ターン」のときは、ビューコンポーネントの addChild と removeChild が簡単でした。
しかし、私は puremvc.org で、それは良い習慣ではないことを読みました。ステージを通過します(私の場合、これは各メディエーターのviewComponentでした-各ビューが追加された場所-たとえば、viewComponent.addChild(foo)b.独自のビューを作成します-これにより、最初にそれを追加および削除できました.
そこで、推奨される方法に変更しました。各メディエーターを作成するときに渡すのは、それが管理するビュー コンポーネントです (ステージ/メイン ドキュメント クラスではなく)。
例えば。
var view:MyView = new MyView();
facade.registerMediator( new MyViewMediator( view ) );
viewComponent.addChild(view);
そのため、必要に応じて各ビューを削除/追加する方法がわかりません。各メディエーター内から可視性を簡単に設定できましたが、それを避けたかったのです-リソース管理に使用されていないときは削除することを好みます...
誰もがこれについて私がどのように「意図されている」かの良いアイデアを手に入れました(たとえば、ステージでビューが不要になった場合は、一時的に削除し、後で必要になったときに追加しますか?)-または私はいくつかの点が欠けていて (かなりの可能性があります!)、これについて間違った方法で行っていますか? 私は puremvc に非常に慣れていないので、正しくアプローチしているとは確信していません。ポインタは大歓迎です!