在余烬中,如何将视图数据从拖拽传递到拖拽?
我使用最新的ember和jquery.ui的Draggable和Droppable。 我也使用了一些天赋的人物创造出来的一些混合物,用来制作一个可拖拽和可拖拽的视图。 这是小提琴:
http://jsfiddle.net/inconduit/6n49N/7/
我需要将视图的内容附加到拖动事件,以便我可以在拖放事件中访问它。 直接jquery,我知道你会做$(..)。draggable({..})。data(“myData”,“some data here”); 但我不知道如何在这个实现中引用视图的内容。
下面是小提琴中AppDraggable的一个片段:
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}}
我想通过这些内容。 请看看小提琴,相关的功能定义在javascript的底部。
在这里回答我自己的问题。
我将数据附加在didInsertElement回调中,如下所示:
App.DraggableDataView = App.Draggable.extend({
didInsertElement: function() {
this._super();
var element = this.get('element');
$(element).data('myData',this.get('content'));
},
});
链接地址: http://www.djcxy.com/p/60809.html
上一篇: In ember, how do I pass view data from a drag into a drop?
下一篇: AngularJS: How to run additional code after AngularJS has rendered a template?