0

コレクションの「フェッチ」を行うたびに、バックボーンはすべてのアイテムの新しいモデルを作成します。古いモデルがメモリに残り、大量のメモリ リークが発生します。

「フェッチ」呼び出しの間にデータの変更はありません。バックボーンは変更がないことを認識せず、続行する必要がありますか?

4

2 に答える 2

2

バックボーン コレクションは、「set」メソッドを使用して、コレクション内のモデル データを更新します。Set はスマートなメソッドであり、コレクションがサーバーからデータをフェッチするときに次のチェックを実行します。

  1. 追加: リスト内のモデルがまだコレクションにない場合、追加されます。
  2. マージ: モデルがすでにコレクションにある場合、その属性はマージされます
  3. remove: コレクションにリストにないモデルが含まれている場合、それらは削除されます

あなたの問題は、更新されたデータを更新しようとしても、サーバーからデータをフェッチすると、コレクションが継続的に新しいモデルを追加することです。あなたのデータには一意の「id」属性がないと思います。そのため、コレクションはサーバーからデータを取得するときに「スマート更新」を実行できません。

{id:"1234",name:"blabla","tel:0600000000"}

これがお役に立てば幸いです。

于 2013-07-02T11:04:57.347 に答える
0

問題は私が思っていたものとは異なります。

ビューにサブビューのリストを保持しているので、それらを削除できます。ただし、同じ名前の 2 つの異なるプロパティがあるようです。ビューを保持する 1 つ。ここに画像の説明を入力

于 2013-07-02T11:56:43.037 に答える