AngularJS渲染完成事件捕获

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');
                });
            }
        }
    };
});

需要监测的地方应用上面定义的指令:

{{item.seq}} {{item.Name}} {{item.desc}}

在我们上述脚本的控制器或指令实例内,如果是指令,则在link函数里添加以下脚本(控制器, 直接加就好)

$scope.$on('$on_rendered', function (event) {
          //render完成后执行的动作
          console.log("rendered")
         
});

你可能感兴趣的:(Angular,angular.js,javascript,前端)