判断angular渲染页面完成

前些天写项目的时候,需要页面循环渲染请求到的数据后再执行函数,无论jQ还是原生js的入口函数都不行,虽说angular的生态系统比较完善,并不需要引用jQ来操作DOM元素。
言归正传,查资料发现:AnguarJs提供了一些对于Html进行加强的语义标签(directive),这些标签在浏览器加载完页面后被执行。

//var app 什么的自个写了哈
app.directive('onRepeatFinishedRender', function ($timeout) {
    return {
        restrict: 'A',
        link: function (scope, element, attr) {
            if (scope.$last === true) {
                $timeout(function () {
                  scope.$emit('ngRepeatFinished', element);
                });
            }
        }
    };
});
$scope.$on("ngRepeatFinished", function (repeatFinishedEvent, element){
    var repeatId = element.parent().attr("repeat-id");
    //r1这个你随便写,不过要和父元素repeat-id属性一样
    if(repeatId=="r1"){
        //这里写程序块 你要执行的操作
    }
 })

html:

    repeat-id="r1">
  • repeat="item in data" on-repeat-finished-render> ……

随便总结下,不一定有用的喔,大伙可以一起交流嘛 (,,•́ . •̀,,)

你可能感兴趣的:(web前端,javascript)