Animating ng-move in AngularJS ngRepeat is animating the wrong items

别说谁变了你拦得住时间么 提交于 2019-12-21 04:02:22

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!