AngularJs渲染完成页面的事件捕获:
第一步, 当前的app先自定义directive:
app.directive('onDetectRender', function ($timeout) {
return {
restrict: 'A',
link: function(scope, element, attr) {
if (scope.$last === true) {
$timeout(function() {
scope.$emit('$on_rendered');
});
}
}
};
});
需要监测的地方应用上面定义的指令:
<table>
<tbody>
<tr ng-repeat="item in list" on-detect-render>
<td>{{item.seq}}</td>
<td>{{item.Name}}</td>
<td>{{item.desc}}</td>
</tr>
</tbody>
</table>
在我们上述脚本的控制器或指令实例内,如果是指令,则在link函数里添加以下脚本(控制器, 直接加就好)
$scope.$on('$on_rendered', function (event) {
//render完成后执行的动作
console.log("rendered")
});
本文介绍了一种在AngularJS中实现页面渲染完成后的事件捕获方法。通过自定义指令'onDetectRender',可以在元素渲染完成后触发特定事件。这种方式适用于需要在DOM完全加载完毕后执行某些操作的场景。
1276

被折叠的 条评论
为什么被折叠?



