使用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
前所有的角脚本和它完美的作品。