1

2 つのビューがあるアプリケーションを開発しています。

ビュー 1 はドキュメントのリストで、いくつかの重要な詳細が示されています。ビュー 2 はドキュメント自体です。編集可能。

アプリケーションはマルチユーザーです。そのため、アプリはサーバーをポーリングしてコレクションの更新を確認します。

問題は、コレクション (ビュー 1) が更新 (.fetch) されると、子モデルからすべてのイベントがバインド解除されることです。ビュー 2 で開いているものを含めます。フェッチ前と同様に、ドキュメント (モデル) の変更はリスト (コレクション) に反映されていましたが、フェッチ後、ドキュメント (現在は古いモデル) はリスト (コレクション) とは無関係になりました。 .

backbone.js ソースを見ると、これは意図した動作です。これに対する回避策はありますか?

4

1 に答える 1

1

はい、これは非常に一般的な問題です。以前と同じモデルを対象としている場合でも、コレクションがリセットされ、そのすべての参照が更新されます。

Collection.update()とは反対の方法を実装するのは良い考えだと思いますCollection.fetch()

この動作に対処するためのアプローチについては、このトレッドを確認してください: Backbone.js collection upsert?

于 2012-06-05T09:45:45.200 に答える