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渲染完成后自己需要执行的逻辑
});完成!
一步一脚印
浙公网安备 33010602011771号