你需要自己實現它,如果你不想使用已經造一個。我自己扔了一些東西。
我需要的是在角度上下文中使用拖動事件的簡單方法。我希望其他ng事件具有完全相同的功能,只需要拖動事件。我查看了源代碼here,並且大部分都複製了源創建ng事件指令的方式。
包括ngDrag
作爲依賴項。您可以使用所有ng-drag*
事件。
(function(){
var ngDragEventDirectives = {};
angular.forEach(
'drag dragend dragenter dragexit dragleave dragover dragstart drop'.split(' '),
function(eventName) {
var directiveName = 'ng' + eventName.charAt(0).toUpperCase() + eventName.slice(1);
ngDragEventDirectives[directiveName] = ['$parse', '$rootScope', function($parse, $rootScope) {
return {
restrict: 'A',
compile: function($element, attr) {
var fn = $parse(attr[directiveName], null, true);
return function ngDragEventHandler(scope, element) {
element.on(eventName, function(event) {
var callback = function() {
fn(scope, {$event: event});
};
scope.$apply(callback);
});
};
}
};
}];
}
);
angular
.module('ngDrag', [])
.directive(ngDragEventDirectives);
}());
您發佈的鏈接是Dart,而不是angular.js。 Angular.js沒有本地拖拽指令。 – 2014-09-02 11:09:46
好吧,這就是我一直在尋找的答案 – 2014-09-02 11:11:09