好的,所以我不想回答我自己的问题,但这似乎是这样做的方式......
我使用了 AngularJS 1.2 以及新的 ngAnimate 模块。您需要添加 angular-animate.js,并引用 animate 模块,所以最后我的模块如下所示:
var app = angular.module('tracker', ['$strap.directives', 'ui.bootstrap', 'ngRoute', 'ngAnimate']);
在那之后,它超级简单,而且非常多的 CSS3 动画。我的警戒线以班级结束repeat-item
:
<alert class="repeat-item" type="alert.type" data-ng-repeat="alert in alerts" close="closeAlert($index)">{{alert.msg}}</alert>
我添加了一些 CSS 以使用 angularjs 触发器来定位该类:
.repeat-item.ng-enter,
.repeat-item.ng-leave {
-webkit-transition: 0.2s linear all;
-moz-transition: 0.2s linear all;
-o-transition: 0.2s linear all;
transition: 0.2s linear all;
}
.repeat-item.ng-enter,
.repeat-item.ng-leave.ng-leave-active {
opacity: 0;
}
.repeat-item.ng-leave,
.repeat-item.ng-enter.ng-enter-active {
opacity: 1;
}
还有voila
一个很好的淡入淡出动画。
这个页面真的很好地解释了如何去做。为 Michael Benford 的出色链接干杯。