javascript - angular dragdrop 拖动 ng 重复元素

标签 javascript angularjs angularjs-ng-repeat angular-dragdrop

这是最能说明我的问题的 plunkr。

https://plnkr.co/edit/VrT7TmK6tY2u4k2NYJ2U?p=preview

有两个面板,左侧的面板有一个项目列表,您可以将这些项目拖放到右侧的孔中。这些孔是用 ng 重复创建的。不幸的是,我无法在屏幕右侧从一口井拖到另一口井。不知道为什么。

 <div ng-controller="oneCtrl"><!--one-->



              <div class="span3" style='margin-left:10px;'>

                <div class="thumbnail"
                data-drop="true" 
                ng-model='list1'
                data-jqyoui-options="optionsList1"
                jqyoui-droppable="{multiple:true}">



                    <div class="alert alert-info btn-draggable"
                      ng-repeat="item in list1"
                      ng-show="item.title" data-drag="{{item.drag}}"
                      data-jqyoui-options="{revert: 'invalid'}"
                      ng-model="list1" jqyoui-draggable="{index: {{$index}},animate:true}"
                      ><!--alert-->

                        {{item.title}}

                    </div><!--alert-->


                </div>
              </div>
              <div class="span3" style='margin-left:150px;'>

                <div class=thumbnail>

                   <div class="well"
                   ng-repeat = "org in orgs"
                    data-drop="true"
                    ng-model="org.list"
                    data-jqyoui-options="{accept:'.btn-draggable:not([ng-model=org.list])'}" 
                    jqyoui-droppable="{multiple:true}">

                    <div class=" alert alert-success btn-draggable" ng-repeat="item in org.list" 
                    ng-show="item.title" 
                    data-drag="{{item.drag}}"
                    data-jqyoui-options="{revert: 'invalid'}"
                    ng-model="org.list"
                    jqyoui-draggable="{index: {{$index}},animate:true}">
                      {{item.title}}
                    </div>

                </div>


                </div>


              </div>





      </div><!--one-->

和javascript

var App = angular.module('拖放', ['ngDragDrop']);

App.controller('oneCtrl', function($scope, $timeout) {

  $scope.orgs = [
      {name: 'org1', list: []},
      {name: 'org2', list: []},
      {name: 'org3', list: []},

    ]


  $scope.list1 = [
    { 'title': 'Item 1', 'drag': true },
    { 'title': 'Item 2', 'drag': true },
    { 'title': 'Item 3', 'drag': true },
    { 'title': 'Item 4', 'drag': true },
    { 'title': 'Item 5', 'drag': true },
    { 'title': 'Item 6', 'drag': true },
    { 'title': 'Item 7', 'drag': true },
    { 'title': 'Item 8', 'drag': true }
  ];


});

最佳答案

那是因为在右面板。此选择器对于所有生成的可放置区域和 it controls which draggable elements are accepted by the droppable 都是相同的.如果您删除此选项(或根据您的要求修改它),您将能够在生成的区域之间拖放项目。

Working plnkr.

关于javascript - angular dragdrop 拖动 ng 重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48099472/

相关文章:

javascript - 出现 "undefined is not a function"错误

javascript - 无法使用 Angular 服务处理 onbeforeunload 事件

javascript - 将括号替换为 HTML 小于号字符

angularjs - 使用ng-repeat生成选择选项(附Demo)

angularjs - 如何更新Angular js中的ng-repeat值?

javascript - Angularjs:如何 ng-repeat 具有也是数组的字段的对象数组?

javascript - 是否可以压缩代码以允许多个变量而不是每个变量一行?

javascript - 如何从js添加到html文章类变量

javascript - 找出 queryCommandEnabled 返回 false 的原因

javascript - 谷歌图表未正确显示图例