Анимация ng-move в AngularJS ngRepeat - анимация неправильных элементов - программирование

Анимация ng-move в AngularJS ngRepeat - анимация неправильных элементов

Я немного смущен, когда речь идет о анимации ng-move в ng-repeat. Например, если я перемещаю элемент массива от 3 до 7, элементы 4-7 меняются и оживляют. Однако фактический элемент, который я переместил из 3 и помещен в позицию 7, не работает. Здесь plunkr демонстрирует мою проблему.

http://plnkr.co/edit/4yRkLWbsU57YxrYOrWUQ?p=preview

Перемещение элемента с 7 на 3, однако, работает так, как я ожидаю, анимируя один перемещенный элемент, а не элементы, которые были сдвинуты вниз.

Это не очень полезно для показа пользователя, который перемещается. Как должен кто-то правильно анимировать ng-ход?

4b9b3361

Ответ 1

@tasseKat имеет отличный ответ, который объясняет поведение, которое вы наблюдали: fooobar.com/questions/290837/...

Однако его решение не так просто, как вы бы хотели... но до сих пор я не нашел ничего лучшего.

Ответ 2

Правильный синтаксис

arrayVar.splice(to, 0, arrayVar.splice(from, 1));

Чтобы удалить и вернуть элемент в индекс i массива arr, используйте arr.splice(i, 1),