Angular Dragula和ng-repeat $ index

时间:2017-03-15 16:15:30

标签: javascript jquery angularjs dragula angular-dragula

我有行重复次数。我将它们设置好,以便您可以使用Angular Dragula通过拖放重新排序它们。这样可以正常工作,但ng-repeat $index仍然是拖动后每个项目的初始值。在拖动“收件人”行之前和之后,请参阅下面的屏幕截图。

有没有办法更新索引?我还想用javascript对菜单进行重新排序,每行都有一个按钮,但为了工作,我需要获取当前的$ index(并递减/递增),如果索引不正确,这将无效像这样。

在拖动之前

enter image description here

拖动后

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试通过$ index添加ng-repeat轨道。

答案 1 :(得分:0)

对于它的价值,这就是答案:

 <div class="table-cards-body" dragula="'first-bag'" dragula-model="home.quickReceiveFields">

      <div class="table-cards-row drag-item" ng-repeat="field in home.quickReceiveFields track by $index">
        <div class="one">{{field.name}}</div>
        <div class="two">{{field.type}}</div>
        <div class="three">{{field.default}} {{$index}}</div>
        <div class="four"><input type="checkbox" ng-model="field.display"></div>
        <div class="five"><input type="checkbox" ng-model="field.retain"></div>
        <button class="btn btn-default btn-xs" ng-click="home.moveItemUp($index)">^</button>
      </div>

 </div>

尽管文档在angular-dragula site上说了什么,但您需要将dragula-model属性放在容器中,并将重复项放入其中。不是ng-repeat本身。