angular自定义指令监听ng-repeat渲染完成后执行其它逻辑

directive 自定义监听指令'onFinishRenderFilters'
app.directive('onFinishRenderFilters', function ($timeout) {
       return {
           restrict: 'A',
           link: function (scope, element, attr) {
               if (scope.$last === true) {
                   $timeout(function () {
                       scope.$emit('ngRepeatFinished');
                   });
               }
           }
       };
   })
在html循环位置加入自定义指令 应用’on-finish-render-filters’
<ul>
    <li ng-repeat="sc in inrt.sonArr1" on-finish-render-filters>
        <span title="{{sc.Title}}">{{sc.Title}}</span>
    </li>
</ul>
在对应controller中写处理函数
$scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) {
    console.log(‘ng-repeat已渲染完成’);
    //ng-repeat渲染完成后自己需要执行的逻辑
});
完成!
posted @ 2020-12-15 18:43  存在过?  阅读(221)  评论(0)    收藏  举报