使用Angularjs拖放删除可拖动元素

问题描述:

我有一个简单的jsfiddle使用Angular Drag and Drop模块。 我想要的是:左边是一张卡片清单。它们中的每一个都是可拖动的。在右侧,放置区域。拖放时,该元素被克隆并添加到ctrl.program列表中。到现在为止还挺好。使用Angularjs拖放删除可拖动元素

问题:我必须能够重新排序,并从右侧区域(即program阵列)移除元件。我尝试了多种解决方案,但都没有成功。理想情况下,一个元素在掉落到拖放区域之外(即右列)时被移除。现在,我只需使用一个按钮

<button class="btn" ng-click="remove(ctrl.program, $index)"> remove </button> 

$scope.remove = function(array, index){ 
    array.splice(index, 1); 
} 

但它抛出

Error: cannot call methods on draggable prior to initialization; attempted to call method 'destroy' 

任何想法如何顺利进行删除?

好吧,如果有人得到同样的问题,这里是答案。

从这个issue

插入脚本jquery.ui.js angular.js导致此问题后1.3而不是1.2。特别是如果拖放指令与ngRepeat一起使用。在通过$ animate.leave删除元素时,拖放插件在$ destroy事件之前被'remove'事件销毁。

我插入jquery.ui.min.js所有的角脚本和它完美的作品。