Angular自定义指令之渲染完数据后执行js

不多说,直接上代码

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

注解:link中当scope中的 last()ngRepeatFinishedscope. l a s t ( 也 就 是 最 后 一 条 数 据 ) , 加 载 完 毕 后 触 发 ′ n g R e p e a t F i n i s h e d ′ 。 s c o p e . emit(‘ngRepeatFinished’);这句话就相当于trigger,会触发定义的事件监听:
也就是我们在controller中会添加如下代码:

$scope.$on('ngRepeatFinished', function( ngRepeatFinishedEvent ) {
    //要执行的代码
})

最后,要在HTMl代码中需要加载数据的位置增加指令属性,如下代码:

<tr ng-repeat="item in itemList" on-finished>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值