You probably need to add ngAnimateChildren attribute on the parent container, and update the css as well.
Try:-
<div ng-repeat="section in sections" ng-animate-children>
<div ng-repeat="item in section.items" class="test">
<h2>{{item.title}}</h2>
</div>
</div>
and
.test.ng-move,
.test.ng-enter,
.test.ng-leave {
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.test.ng-leave.ng-leave-active,
.test.ng-move,
.test.ng-enter {
opacity:0;
-webkit-transform: translate(-20px, 0);
transform: translate(-20px, 0);
}
.test.ng-leave,
.test.ng-move.ng-move-active,
.test.ng-enter.ng-enter-active {
opacity:1;
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
Plnkr
Found this from the doc
Keep in mind that, by default, if an animation is running, any child elements cannot be animated until the parent element's animation has completed. This blocking feature can be overridden by placing the ng-animate-children attribute on a parent container tag.
Even though there is no animation on the parent repeat, it seems like ng-animate
just ignores any further animation on its children.
ng-animate-children
on the parent – Brat