angularjs-渲染完数据后执行js

来源:互联网 发布:centos搭建vpn网速慢 编辑:程序博客网 时间:2024/06/04 17:56

转自:http://blog.csdn.net/u013938465/article/details/51706836

1、自定义指令

Module.directive('onFinishRender', function($timeout) {    return {        restrict: 'A',        link: function(scope, element, attr) {            if(scope.$last == true) {                $timeout(function() {                    scope.$emit('ngRepeatFinished');                });            }        }    }});

解释下:
link中当scope中的$last(也就是最后一条数据),加载完毕后触发’ngRepeatFinished’。

scope.$emit(‘ngRepeatFinished’);这句话就相当于trigger,会触发定义的事件监听
2、控制器中

$scope.$on('ngRepeatFinished', function( ngRepeatFinishedEvent ) {    //codeing })

3、html中需要加载数据完成执行js的地方加上指令on-finish-render

<tr ng-repeat="item in userList" on-finish-render>

原文链接:http://blog.csdn.net/u013938465/article/details/51706836

原创粉丝点击