我有以下指令:定製指令的鏈接函數被調用
.directive("picSwitcher", ["$timeout", function($timeout){
return {
restrict: "A",
scope: {
pics: "=",
fadeTime: "@",
timeForPic:"@"
},
template: '<img ng-repeat="pic in pics" src="{{pic.url}}" style="display: none"/>',
link: function ($scope, element){
//some code...
$(element.find("img")[0]).css({display: "block"});
}
};
}])
我的問題是,當調用我的鏈接功能 - 納克重複尚未「編譯」(什麼詞應該用在這裏,而不是編譯?)
所以我想設置未定義的css .. 如何強制鏈接函數在ng-repeat完成後運行?!
現在我用$timeout(function(){ $(element.find("img")[0]).css({display: "block"});}, 200);
但感覺代替$(element.find("img")[0]).css({display: "block"});
解決這個「哈克」
有我丟失的東西,以實現更簡單的方法我的目標是什麼? 一般來說,在自定義指令的鏈接函數中操作ng-repeat dom元素的最佳方式是什麼?
謝謝, 吉米。
也許如果你會做的HTML內,而不是在directice它會工作的模板? – Erez