Heim >Web-Frontend >js-Tutorial >Wird ein Ereignis ausgelöst, wenn ng-Repeat das Auffüllen von Elementen abschließt?

Wird ein Ereignis ausgelöst, wenn ng-Repeat das Auffüllen von Elementen abschließt?

DDD
DDDOriginal
2024-12-01 07:07:11735Durchsuche

Is There an Event Triggered When ng-Repeat Finishes Populating Elements?

ng-Repeat Population Completion Event

Problem

Manipulation von Elementen, die von ng-repeat gefüllt werden, mithilfe von jQuery-Selektoren in $(document).ready() oder $scope.$on('$viewContentLoaded', myFunc) erweist sich als zwecklos. Gibt es ein spezielles Ereignis, das bei Abschluss von ng-repeat ausgelöst wird?

Antwort

Obwohl es kein spezifisches Ereignis gibt, das die Beendigung von ng-repeat signalisiert, bietet die Verwendung von Anweisungen und ng-repeat-spezifischen Eigenschaften eine praktikable Lösung Lösung.

Richtlinien

Wenn Ihr Ziel darin besteht, Event-Handler für die gesamte Tabelle zu formatieren oder an sie anzuhängen, können Sie eine Direktive verwenden, die alle ng-repeat-Elemente kapselt. Umgekehrt können Sie zum Ansprechen bestimmter Elemente eine Direktive in ng-repeat verwenden, die für jedes erstellte Element ausgeführt wird.

Ng-Repeat-Eigenschaften

Der $index, $ Die Eigenschaften first, $middle und $last ermöglichen das Auslösen von Ereignissen. Beispielsweise können Sie die Eigenschaft „$last“ verwenden, um eine Warnung anzuzeigen, wenn das letzte Element erstellt wird.

Beispiel

Bedenken Sie den folgenden HTML-Code:

<div ng-controller="Ctrl" my-main-directive>
  <div ng-repeat="thing in things" my-repeat-directive>
    thing {{thing}}
  </div>
</div>

Die begleitenden Anweisungen könnten wie folgt aussehen:

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');
  };
});

Versuchen Sie diese Lösung hier in Aktion Plunker.

Das obige ist der detaillierte Inhalt vonWird ein Ereignis ausgelöst, wenn ng-Repeat das Auffüllen von Elementen abschließt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn