De hecho, debe usar directivas, y no hay ningún evento vinculado al final de un ciclo ng-Repeat (ya que cada elemento se construye individualmente y tiene su propio evento). Pero a) usar directivas podría ser todo lo que necesita yb) hay algunas propiedades específicas de ng-Repeat que puede usar para hacer que su evento "on ngRepeat finalice".
Específicamente, si todo lo que desea es diseñar / agregar eventos a toda la tabla, puede hacerlo utilizando una directiva que abarque todos los elementos ngRepeat. Por otro lado, si desea abordar cada elemento específicamente, puede usar una directiva dentro de ngRepeat, y actuará en cada elemento, después de que se haya creado.
Entonces, hay el $index
, $first
, $middle
y $last
propiedades que se pueden utilizar para eventos de activación. Entonces para este HTML:
<div ng-controller="Ctrl" my-main-directive>
<div ng-repeat="thing in things" my-repeat-directive>
thing {{thing}}
</div>
</div>
Puede usar directivas así:
angular.module('myApp', [])
.directive('myRepeatDirective', function() {
return function(scope, element, attrs) {
angular.element(element).css('color','blue');
if (scope.$last){
window.alert("im the last!");
}
};
})
.directive('myMainDirective', function() {
return function(scope, element, attrs) {
angular.element(element).css('border','5px solid red');
};
});
Véalo en acción en este Plunker . ¡Espero eso ayude!
myMainDirective
el código se ejecute solo después del final del ciclo? Necesito actualizar la barra de desplazamiento del padre div.