Angularjs 倾斜阻力
我是AngularJS的新手,我对当前的项目有点压力,这就是为什么我在这里问这个问题 我看到AngularJS有ng dragstart事件(),但它似乎不起作用。在其他页面上,我可以看到其他开发人员建议执行新的“指令”Angularjs 倾斜阻力,angularjs,drag-and-drop,angularjs-directive,Angularjs,Drag And Drop,Angularjs Directive,我是AngularJS的新手,我对当前的项目有点压力,这就是为什么我在这里问这个问题 我看到AngularJS有ng dragstart事件(),但它似乎不起作用。在其他页面上,我可以看到其他开发人员建议执行新的“指令” 所以我的问题是:“AngularJS中是否实现了本机ng拖放功能,还是我应该自己实现?”您可以通过codef0rmer为AngularJS使用角度拖放功能。它很容易实现,并且支持对拖放中引发的事件的angular回调和jquery回调 在您的情况下,对于拖动功能,您可以将其编写
所以我的问题是:“AngularJS中是否实现了本机ng拖放功能,还是我应该自己实现?”您可以通过codef0rmer为AngularJS使用角度拖放功能。它很容易实现,并且支持对拖放中引发的事件的angular回调和jquery回调 在您的情况下,对于拖动功能,您可以将其编写为
<div class="btn btn-primary" data-drag="true" data-jqyoui-options="{revert: 'invalid'}" ng-model="list1" jqyoui-draggable="{animate:true}" ng-hide="!list1.title">{{list1.title}}</div>
{{list1.title}
我个人使用它,发现它非常简单
更多详细信息如果您不想使用已经制作好的,您需要自己实现它。我自己拼凑了一些东西 我需要的是一种在角度上下文中使用拖动事件的简单方法。我想要与其他ng事件完全相同的功能,只是拖动事件也一样。我查看了源代码,并在很大程度上复制了源代码如何创建ng事件指令 包括
ngDrag
作为依赖项。您可以使用所有ng拖动*
事件
(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);
}());
是的,但我的问题的严格答案是“没有处理拖放功能的原生AngularJS指令,我必须使用除此之外的其他东西”——对吗?是的。如果您愿意进行广泛的操作,那么实际上应该使用自定义指令。AngularJS没有为draggable提供本机指令。然而,文档给出了一个如何创建一个简单的可拖动对象的本地示例,我发现它非常有用,并且是一个很好的起点,您发布的链接是针对Dart的,而不是angular.js。Angular.js没有本机拖动指令。好吧,这就是我一直在寻找的答案那些
null
和true
args到parse
的意思是什么?我在Angular docs中看到了唯一的参数表达式
:@ars有趣的问题。我刚从源代码中复制,但看起来他们做了些什么: