Sie müssen es selbst implementieren, wenn Sie wollen ein bereits gemacht ein nicht verwenden. Ich habe selbst etwas zusammengeworfen.
Was ich brauchte, war eine einfache Möglichkeit, die Ziehereignisse in einem eckigen Kontext zu verwenden. Ich wollte genau die gleiche Funktionalität wie andere ng-Events, nur mit den Drag-Events auch. Ich schaute auf die Quelle here und zum größten Teil kopiert, wie die Quelle die ng-Event-Anweisungen erstellt.
Enthalten ngDrag
als Abhängigkeit. Sie können alle ng-drag*
Ereignisse verwenden.
(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);
}());
Dieser Link, den Sie gepostet haben, ist für Dart, nicht angular.js. Angular.js verfügt nicht über native Drag-Direktiven. –
Okay, das ist die Antwort, nach der ich gesucht habe –