あるビューから別の URL にある別のビューにデータを送信する方法は?
1 に答える
2
少し変わった質問ですが、あなたの問題を複雑に想像して答えを出してみましょう。
本を読むためのアプリケーションを想像してみてください (Web の iBook など)。いくつかの子ビューを作成する ApplicationView という 1 つの親ビューがあり、そのうちのいくつかは BookshelfView (#bookshelf url で利用可能) と BookView (#book/:id url で利用可能) です。
ここで、BookView から本を未読としてマークすると、BookshelfView がこの本の外観を変更する必要があることがわかります。OK、「あるビューから別のビューにデータを移動する」ことではありません。モデルの状態を変更するだけで、ビューはこの「変更」イベントをキャッチして HTML を更新します。
より複雑な状況を説明しましょう。同じアプリケーションを想像してください。しかし、この時点で、縦向きを横向きに切り替えることにしました。1 つのビューで作成し、この変更を他のアプリケーション ビューに反映させたい場合。これは、いくつかの方法で行うことができます。
- ビューは疎結合のままにする必要があり、ある種のメディエーター パターンを使用する必要があります。
- Backbone 0.9.9 から、Backbone は Events インターフェイスをサポートするため、グローバル Backbone オブジェクトを Mediator として使用できます。
- 2 つ以上のビュー間の仲介用に追加のモデルを作成できますが、より美しいソリューションがあります。
- 複数の子ビューに対して 1 つの親ビューがある場合、そのメディエーターは既に存在します。あるビューから親ビューにイベントを送信し、他のビューから親でそのイベントをリッスンするだけです。
この質問も確認することをお勧めします
于 2013-01-18T06:29:11.977 に答える