Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 倾斜阻力_Angularjs_Drag And Drop_Angularjs Directive - Fatal编程技术网

Angularjs 倾斜阻力

Angularjs 倾斜阻力,angularjs,drag-and-drop,angularjs-directive,Angularjs,Drag And Drop,Angularjs Directive,我是AngularJS的新手,我对当前的项目有点压力,这就是为什么我在这里问这个问题 我看到AngularJS有ng dragstart事件(),但它似乎不起作用。在其他页面上,我可以看到其他开发人员建议执行新的“指令” 所以我的问题是:“AngularJS中是否实现了本机ng拖放功能,还是我应该自己实现?”您可以通过codef0rmer为AngularJS使用角度拖放功能。它很容易实现,并且支持对拖放中引发的事件的angular回调和jquery回调 在您的情况下,对于拖动功能,您可以将其编写

我是AngularJS的新手,我对当前的项目有点压力,这就是为什么我在这里问这个问题

我看到AngularJS有ng dragstart事件(),但它似乎不起作用。在其他页面上,我可以看到其他开发人员建议执行新的“指令”


所以我的问题是:“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有趣的问题。我刚从源代码中复制,但看起来他们做了些什么: