私は Marionette と Backbone についてはよく理解していると思いますが、次の問題で困惑しました。コレクション ビュー内でマリオネット アイテム ビューを使用してメッセージ ボードを表示しようとしていますが、うまくいく方法がありますが、最初の処理後に新しいコレクションでリセットを呼び出すことになるため、結果に不満があります。メッセージの配列。
Web サーバーからのメッセージの配列、つまりバックボーン コレクションがあるとします。例えば
[{ user : "Alice", timestamp : 1, body : "message1" },
{ user : "Alice", timestamp : 5, body : "message2" },
{ user : "Bob", timestamp : 10, body : "message3" },
{ user : "Alice", timestamp : 20, body : "message4" }] etc.
ユーザーメッセージのバッチでメッセージを表示したいので、次のように表示されます。
アリス
- メッセージ1
- メッセージ2
ボブ
- メッセージ3
アリス
- メッセージ4
マリオネットを使用してこれを達成するにはどうすればよいですか? 現在、すべてのメッセージの単一パスを実行して、次のような新しい配列を作成しています。
[{ user : "Alice", messages : ["message1", "message2"] },
{ user : "Bob", messages : ["message3"] },
{ user : "Alice", messages : ["message4"] }]
次に、新しい Collection を作成し、上記の配列で reset を呼び出します。この「リセット」には、多数の (~250) メッセージの場合、長い時間 (27 秒!!) がかかります。ユーザー メッセージの各バッチは新しい ItemView であり、テンプレートでハンドルバーを使用して、そのバッチのメッセージ配列を反復処理します。
また、初期配列の末尾に追加される別のメッセージに対処し、CollectionView を自動的に更新するようにしたいと考えています。前もって感謝します!