angular 监听ng-repeat结束时间

有些时候我们想要监听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" watch-Loading-Pics-Over>

<!--<img ng-src="{{ item }}"/>-->

</div>

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