ここでレンダリングし、jqueryuiでドラッグできるようにするバックボーンビューモデルがあります。
render: ->
$(this.el).attr('class', 'item').html(this.template(this.options.model.toJSON() ))
viewmodel = this
$(this.el).draggable
revert: true
drag: () ->
console.log(viewmodel)
上記では、viewmodelを利用でき、domから削除したり、モデルのメソッドを呼び出したりできます。しかし、必要なのは、このビューモデルをドロップ可能なコンテナ(ゴミ箱など)にドラッグしてから、ビューモデルのメソッドを作成し、DOMから削除します。
ただし、アイテムがコンテナにドロップされたときのコールバックメソッドは次のようになります。
$(function() {
$("#trash").droppable({
drop: function(event, ui) {
console.log(ui.draggable);
}
});
});
したがって、ui.draggableを表示してDOMから削除することはできますが、そのビューモデルへの参照はありません。私は何か間違ったことをしていますか?これを回避する方法はありますか?