//其實(shí)就是自定義指令?
因?yàn)槲艺也坏竭@個監(jiān)聽事件
//首先找到全局的angularjs
var myapps = angular.module("myapp");
//自定義指令repeatFinish ?這個指令名稱可以自定義但是在調(diào)用的時候要注意寫法 下面會有說明
//這里的$timeout下面會講
myapps.directive('repeatFinish',function($timeout){
//在調(diào)用到這個指令的時候執(zhí)行
return{
//默認(rèn)為A,C 就是參數(shù)和ClassName ?更多參數(shù)去看API
restrict:"A",
//這個方法在指令被編譯的時候運(yùn)行
//這里的scope指ng-repeat的作用域
//element 是 jqlite對象
//attr指方法傳進(jìn)來的參數(shù)集
link:function(scope,element,attr){
//如果渲染完成
//scope.$first==true 就是渲染開始 沒試過這個參數(shù) 嘻嘻
if(scope.$last==true){
//執(zhí)行這個參數(shù)或方法
//這里因?yàn)樽詈笠粋€last還在渲染中
? $timeout(function(){
?//所以等最后一個渲染完成再執(zhí)行
? ? ? scope.$eval(attr.repeatFinish);
})
}
}
}
})
在html文檔中調(diào)用
//這里的elearr自己創(chuàng)建 嘻嘻
//注意到這里repeatFinish編程了repeat-finish
//因?yàn)閔5和js轉(zhuǎn)化-號時會這樣,詳情查看駝峰法
//在控制器作用域調(diào)用
$scope.yourfunction=function(){
console.log("加宅ng-repeat完成");
//這時候就可以操作你的元素了
}
//我也是遇到這個問題在渲染完成前操作了元素,所以取不到對象,剛學(xué)angularJS可能有的地方理解錯了,幫忙指出來嘻嘻,互相學(xué)習(xí)嘻嘻,多多指教嘻嘻,