没有jquery

时间:2016-09-01 07:23:18

标签: angularjs

我的拖放工作无效。谁能告诉我它有什么问题?

html链接:

<head>
    <script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js">
    </script>
    <script src="components/angular-dragdrop/src/angular-dragdrop.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body  ng-app="myModule" ng-controller="myController">
    <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>

    <div class="thumbnail" data-drop="true" data-jqyoui-options ng-model="list2" jqyoui-droppable style='height:100px; margin-top:40px;border-color:green;'>
        <div class="btn btn-success" data-drag="false" data-jqyoui-options ng-model="list2" jqyoui-draggable ng-hide="!list2.title">{{list2.title}}
        </div>
    </div>
</body>

角度代码:

var myApp = angular.module("myModule",[]);

myApp.controller("myController", function($scope){
    $scope.list1 = {title: 'AngularJS - Drag Me'};
  $scope.list2 = {};    
});

2 个答案:

答案 0 :(得分:1)

在您的应用中注册angular-drag-and-drop模块:

var myApp = angular.module("myModule", ['ang-drag-drop']);

myApp.controller("myController", function($scope){
    $scope.list1 = {title: 'AngularJS - Drag Me'};
  $scope.list2 = {};

});

答案 1 :(得分:0)

当我尝试做这项工作时,我遇到了三个表演者:

  1. 首先,验证组件的路径是否确实存在。在我的机器上,至少Bower安装到./bower_components/,而不是./components/
  2. Simo Endre是正确的,该组件需要注册,但需要注册为ngDragDrop,而不是ang-drag-drop
  3. 最后,有问题的组件(codef0rmer/angular-dragdrop)依靠jQuery和jQuery-UI来实现它的魔力,所以你需要将它们添加到你的项目中:

    <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
      ...
    </head>
    
  4. 鉴于你问题的标题,不确定这最后一个是否是你的交易破坏者。 _(ツ)_ /¯

    无论如何,在进行这些更改之后,代码似乎按预期工作。