0

モデルのメイン コレクションがあり、それを 3 つの個別のコレクションにフィルター処理します (分類されたメニューを考えてください)。メイン コレクションが同期されていることを確認するために、タイマーでフェッチを行います。フィルタリングされた各コレクションは Marionette CollectionView の基礎であり、最初から適切にレンダリングされます。メイン コレクションのフェッチがタイマーによって完了するとすぐに、フィルター処理された各コレクションがメイン コレクションのデータで更新されます。

更新:私の推測では、フィルター処理されたコレクションを新しい Backbone.Collection にラップしているため、同じモデルを共有する各コレクションにリセットが適用されているため、コレクションのリセットをトリガーするフェッチが実際にフィルター処理されたすべてのコレクションもリセットしてから、完全なコレクションを入力します。

どうすればこれを回避できますか?

4

2 に答える 2

0

参照により特定のオブジェクトを共有しているように思われます。元の共有状態に基づいて3つの分離されたコレクションを含めたいが、その状態との関係を作成しない場合は、すべてのデータをコピーして新しいオブジェクトを作成します。これは、 _。 extendを介して実行できます。

私はあなたの状況を完全に誤解している可能性があります。いくつかのコンテキスト/コードが役立ちます。

于 2012-12-31T16:35:35.633 に答える
0

問題は私でした。:)

私は考えていませんでした。フィルタリングされたコレクションであっても、メインのコレクション タイプの新しいインスタンスを作成していました。これにより、フィルター処理されたすべてのコレクションにもタイマーが作成され、もちろん、フィルター処理されたコレクションがメイン コレクション データで更新されました。

于 2012-12-31T16:54:29.233 に答える