AngularJs中ng-repeat指令的默认animate动画

这两天做前端AngularJs开发的时候引了个uib-pagination翻页控件,结果翻页的时候发现旧数据与新数据同时保留的几百毫秒,然后旧数据才消失,感觉体验不太好。但是没想出来时为什么,开始以为数据或数组操作出问题,搞了很长时间没搞明白。结果一步一步删代码发现问题出在引入的animate包身上。

原来ng-repeat指令在引入animate的情况下自动调用ng-enter,ng-leave等class。

解决问题方法有很多,可以自定义ng-enter等class,或设置

$animate.enabled(false);//全局,影响其他动画,需要在别的页面置true
$animate.enabled(false, AngularElement);//传入单个元素

最后我用的方法定义了一个无动画class引用过来。

<tr ng-repeat="item in list" class="no-animate">

.no-animate {
   -webkit-transition: none !important;
   transition: none !important;
}

相关推荐