我有一个 ng-repeat 行。我对它们进行了设置,因此您可以使用 Angular Dragula 拖放来重新排序它们。这工作正常,但 ng-repeat$index
在拖动后仍然是每个项目的初始值。在拖动“收件人”行之前和之后,请参阅下面的屏幕截图。
有没有办法更新索引?我还想用javascript重新排序菜单,在每一行都有那个按钮,但为了让它工作,我需要获取当前的$index(并减少/增加它),如果索引不正确,这将不起作用像这样。
我有一个 ng-repeat 行。我对它们进行了设置,因此您可以使用 Angular Dragula 拖放来重新排序它们。这工作正常,但 ng-repeat$index
在拖动后仍然是每个项目的初始值。在拖动“收件人”行之前和之后,请参阅下面的屏幕截图。
有没有办法更新索引?我还想用javascript重新排序菜单,在每一行都有那个按钮,但为了让它工作,我需要获取当前的$index(并减少/增加它),如果索引不正确,这将不起作用像这样。
对于它的价值,这就是答案:
<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 站点上说了什么,但您需要将dragula-model
属性放在放置重复项的容器上。不是ng-repeat
自己。
尝试通过 $index 添加 ng-repeat 曲目。