问题
I'm a little flummoxed when it comes to animating ng-move in an ng-repeat. If I move an array item from 3 to 7 for instance, items 4-7 get shifted up and they animate. However the actual item I moved from 3 and placed in position 7, does not. Here's a plunkr demonstrating my issue.
http://plnkr.co/edit/4yRkLWbsU57YxrYOrWUQ?p=preview
Moving item 7 to 3, however, works as I expect, animating the single moved item, and not the items that have been pushed down.
This is not very useful for showing a user what moved. How should someone properly animate an ng-move?
回答1:
@tasseKat has an excellent answer, which explains the behavior you observed: https://stackoverflow.com/a/27616435/1652643
However, his solution is not as simple as you would wish... but so far I haven't found anything better.
回答2:
The correct syntax is
arrayVar.splice(to, 0, arrayVar.splice(from, 1));
To remove and return an element at the index i
of array arr
, use arr.splice(i, 1)
,
来源:https://stackoverflow.com/questions/20691630/animating-ng-move-in-angularjs-ngrepeat-is-animating-the-wrong-items