CrazyDogWang 2017-02-14
这两天做前端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; }