美文网首页
监听angularjs的ng-repeat完成/开始事件

监听angularjs的ng-repeat完成/开始事件

作者: GonBuilder | 来源:发表于2016-07-09 10:21 被阅读0次

//其实就是自定义指令 

因为我找不到这个监听事件

//首先找到全局的angularjs

var myapps = angular.module("myapp");

//自定义指令repeatFinish  这个指令名称可以自定义但是在调用的时候要注意写法 下面会有说明

//这里的$timeout下面会讲

myapps.directive('repeatFinish',function($timeout){

//在调用到这个指令的时候执行

return{

//默认为A,C 就是参数和ClassName  更多参数去看API

restrict:"A",

//这个方法在指令被编译的时候运行

//这里的scope指ng-repeat的作用域

//element 是 jqlite对象

//attr指方法传进来的参数集

link:function(scope,element,attr){

//如果渲染完成

//scope.$first==true 就是渲染开始 没试过这个参数 嘻嘻

if(scope.$last==true){

//执行这个参数或方法

//这里因为最后一个last还在渲染中

  $timeout(function(){

 //所以等最后一个渲染完成再执行

      scope.$eval(attr.repeatFinish);

})

}

}

}

})

在html文档中调用

//这里的elearr自己创建 嘻嘻

//注意到这里repeatFinish编程了repeat-finish

//因为h5和js转化-号时会这样,详情查看驼峰法

//在控制器作用域调用

$scope.yourfunction=function(){

console.log("加宅ng-repeat完成");

//这时候就可以操作你的元素了

}

//我也是遇到这个问题在渲染完成前操作了元素,所以取不到对象,刚学angularJS可能有的地方理解错了,帮忙指出来嘻嘻,互相学习嘻嘻,多多指教嘻嘻,

相关文章

网友评论

      本文标题:监听angularjs的ng-repeat完成/开始事件

      本文链接:https://www.haomeiwen.com/subject/nlbrjttx.html