2011-10-20 17 views
3

私はBackbone.jsコレクションを持っており、同時にいくつかの要素を削除したいと考えています。削除されたモデルのビュー要素も削除したい。Backbone.js内のコレクションから複数の要素を削除します

collection.remove(arrayOfModels)を使用すると、複数のDELETE要求が発生するという問題があります。これはパフォーマンスが悪いことです。何か問題が生じた場合は、バッチ全体の削除をキャンセルすることもできます。その代わりに、削除された要素のリストをパラメータとして単一のリクエストを作成したいと考えています。

ここで最善のアプローチは何ですか? Backbone.syncをオーバーライドして、何らかの形で削除された要素のIDを集計すると、1回のリクエストができますか?または、手動でリクエストを作成し、それぞれの削除されたモデルの 'remove'イベントをトリガーしてビューを非表示にするだけですか?

答えて

4

私は最も単純な&クリーンなアプローチは、あなたが削除するモデルのIDをサーバーに送信する特定のアヤックスの要求を所有することだと思います。

サーバーは成功するとモデルのIDを返します.Ajax成功コールバックでは、これらのモデルをコレクションから削除できます。これは、対応するビューが聴くためにイベントをトリガーするので、彼らは自分自身を隠す。

+0

ありがとうございました。$ .ajaxリクエストでIDを送信し、 'success'コールバックで名前付きモデルを削除しました。 – kulesa

関連する問題