Ereignisse nach ng-repeat-Population auslösen
Sie möchten eine jQuery-Funktion für ein Div ausführen, das eine mit ng-repeat gefüllte Tabelle enthält, aber weder $(document).ready() noch $scope.$on('$viewContentLoaded', myFunc) löst aus it.
Benutzerdefinierter Direktivenansatz
Direktiven bieten eine Möglichkeit, benutzerdefinierte Funktionen zu erstellen. Da es kein integriertes Ereignis für das Ende einer ng-repeat-Schleife gibt, können Sie dies mithilfe einer Direktive erreichen.
Es sind zwei Szenarien zu berücksichtigen:
Eigenschaften zum Auslösen von Ereignissen
Zusätzlich können Sie die folgenden Eigenschaften mit nutzen ng-repeat:
Beispiel
Betrachten 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>
Sie können Anweisungen definieren, um die Elemente zu manipulieren:
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'); }; });
In diesem Beispiel setzt die myRepeatDirective die Farbe jedes Elements auf Blau und meldet „Ich bin der Letzte!“ für das letzte Element. Die myMainDirective legt einen Rahmen um die gesamte Tabelle fest.
Das obige ist der detaillierte Inhalt vonWie löst man jQuery-Funktionen aus, nachdem ng-repeat das Auffüllen einer Tabelle abgeschlossen hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!