UIのドラッグアンドドロップイベントに基づいて、2つのコレクション間でモデルを移動しようとしています(1つの「ボックス」から別の「ボックス」へ)。元のコレクションから要素を削除すると、新しいコレクションにも表示されないため、要素が存在しなくなったようです(削除をコメントアウトすると、他のコレクションに表示されます)。
これは、各モデルがサーバー側のコレクションに対応し、コレクションから何かを削除すると、通常はサーバーに戻ってそれを強制終了するという考えによるものだと私は直感しています。ただし、ここでは、モデルをもう少し自由に動かせるようにしたいと思います。それは可能ですか?バックボーンを間違って使用していますか?
アップデート
さて、これは私のコードの抜粋です。必要に応じてフィドルを作成できますが、これは何が起こっているかを強調するのに役立つかもしれません。
drop: function(event, ui) {
var item = ui.draggable.data("model");
newcollection.add(item);
console.log(item);
oldcollection.remove(item);
console.log(item);
}
これで、コンソール出力は次のようになります。
d {attributes: Object, _escapedAttributes: Object, cid: "c83", changed: Object, _silent: Object…}
d {_previousAttributes: Object, _pending: Object, _escapedAttributes: Object, changed: Object, _silent: Object…}
そのため、モデル自体が変更されたようですが、コレクションからの削除以外は何も行われていません。私は今それが実際に「存在しなくなった」わけではないが、それでも-?