我有一个主干视图模型,我在这里渲染并使用 jquery ui 使其可拖动。
render: ->
$(this.el).attr('class', 'item').html(this.template(this.options.model.toJSON() ))
viewmodel = this
$(this.el).draggable
revert: true
drag: () ->
console.log(viewmodel)
上面,我有可用的视图模型,可以将其从 dom 中删除,调用其模型上的方法等。但我想要将此视图模型拖到一个可放置的容器中——就像一个垃圾桶——然后调用一些视图模型的方法并将其从 DOM 中移除。
不过,我看到的是,将项目放入容器时的回调方法是:
$(function() {
$("#trash").droppable({
drop: function(event, ui) {
console.log(ui.draggable);
}
});
});
所以,我可以看到 ui.draggable 并将其从 DOM 中删除,但我没有参考它的视图模型。难道我做错了什么?有什么办法可以解决这个问题?