我正在使用 ember latest 和 jquery.ui 的 Draggable 和 Droppable。我还使用了一些有才华的 ember 人创建的 mixin,用于在 ember 中创建 Draggable 和 Droppable 视图。这是小提琴:
http://jsfiddle.net/inconduit/6n49N/7/
我需要将视图的内容附加到拖动事件,以便我可以在放置事件中访问它。直接使用 jquery,我知道你会这样做 $(..).draggable({ .. }).data("myData","some data here"); 但我不知道如何在这个 ember 实现中引用视图的内容。
这是小提琴中 App.Draggable 的片段:
App.Draggable = JQ.Draggable.extend({
appendTo: 'body',
helper: function() {
$(this).data("myData","this is where actual data would go");
JQ.Draggable 扩展了 Ember.View。在 helper() 函数内部,'this' 指的是实际的 DOM 元素,我不知道如何引用 View 的变量。我想传递视图的内容,以便可以在此处检索它:
App.Droppable = JQ.Droppable.extend({
drop: function(event,ui) {
alert('Dropped! ' + $(ui.draggable).data("myData"));
可拖动的模板如下所示:
{{#view App.Draggable contentBinding="App.anObject"}}Drag me{{/view}}
我想传递那个内容。请看一下fiddle,相关函数定义在javascript的底部。