angular 监听ngrepeat结束时间

有些时候我们想要监听angular js中的 ng-repeat结束事件,从而好初始化一些我们的第三方或者其他需要初始化的js。

我们可以这样处理:

js 中这样定义 : 

//监听事件 是否加载完毕
app.directive('watchLoadingPicsOver', function ($timeout) {
return {
restrict: 'A',
link: function(scope, element, attr) {
if (scope.$last === true) {
$timeout(function() {
scope.$emit('loadingOver');
});
}
}
};
});

//加载完成后执行的事件
$scope.$on('loadingOver', function (ngRepeatFinishedEvent) {
//进行初始化的第三方和js

});

html中 需要加上一个指定 :

<div class="swiper-slide pic_item" ng-repeat="item in DetailsPageModule.coverPics.arr track by $index" style="background-image: url({{ item }});"  watch-Loading-Pics-Over>
<!--<img ng-src="{{ item }}"/>-->
</div>

这样一旦ng-repeat结束后便执行$scope.$on();

原文地址:https://www.cnblogs.com/xiezhonglong/p/5760114.html