Ng-repeat zaman bir işlevi çağırmadan tamamladı
Uygulamaya çalıştığım "ng tekrar" handler. render bittikten temelde bir. Yapıldığı zaman tespit etmek mümkün ama ben bir fonksiyonu tetiklemek için nasıl çözemiyorum.
Keman:http://jsfiddle.net/paulocoelho/BsMqq/3/ kontrol edin
JS
var module = angular.module('testApp', [])
.directive('onFinishRender', function () {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
element.ready(function () {
console.log("calling:" attr.onFinishRender);
// CALL TEST HERE!
});
}
}
}
});
function myC($scope) {
$scope.ta = [1, 2, 3, 4, 5, 6];
function test() {
console.log("test executed");
}
}
HTML
<div ng-app="testApp" ng-controller="myC">
<p ng-repeat="t in ta" on-finish-render="test()">{{t}}</p>
</div>
Cevap: Finishingmove çalışan keman: http://jsfiddle.net/paulocoelho/BsMqq/4/
CEVAP
var module = angular.module('testApp', [])
.directive('onFinishRender', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$emit('ngRepeatFinished');
});
}
}
}
});
Kullanmadım dikkat edin .() hazır, fakat zaman aşımı bir $sarılı değil. ng-tekrarlanan elemanları GERÇEKTEN işleme (zaman aşımı $çalıştırır çünkü mevcut sindirimi çevrimi . sonunda bitirdim idam olduğundan emin yapar $zaman aşımı ^strong>ve de arayacak $setTimeout aksine . DAHİLİ olarak uygulamak, ). Ng-yineleme tamamlandıktan sonra, $yayarlar dış kapsamları için bir olay (kardeş ve ebeveyn scopes) yaymak için kullanılır.
Ve kumandanız, yakalayabilirsiniz $öyleyse:
$scope.$on('ngRepeatFinished', function(ngRepeatFinishedEvent) {
//you also get the actual event object
//do stuff, execute functions -- whatever...
});
Html ile bu şuna benzer:
<div ng-repeat="item in items" on-finish-render="ngRepeatFinished">
<div>{{item.name}}}<div>
</div>
C bir zaman damgası oluşturur işlevi#...
(Ya da ihmal) kullanmak için zaman var...
İşlevi'Python adı s ile bir dized...
SyntaxError: işlevi, zaman Non-ASCII k...
Bir WordPress kullanmak bir işlevi son...