Musisz je wdrożyć samodzielnie, jeśli nie chcesz używać już robione jeden. Sam coś zrzuciłem.
Potrzebowałem prostego sposobu na wykorzystanie zdarzeń przeciągania w kontekście kątowym. Chciałem dokładnie tej samej funkcjonalności, co inne zdarzenia ng, po prostu z opcjami przeciągania. Spojrzałem na źródło here i w większości skopiowałem, w jaki sposób źródło tworzy dyrektywy ng-event.
Dołącz jako ngDrag
jako zależność. Możesz użyć wszystkich zdarzeń 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);
}());
Link, który wysłałeś, dotyczy Dart, a nie angular.js. Angular.js nie ma natywnych dyrektyw dotyczących przeciągania. –
w porządku, to jest odpowiedź, której szukałem. –