Memanipulasi elemen yang diisi oleh ng-repeat menggunakan pemilih jQuery dalam $(document).ready() atau $scope.$on('$viewContentLoaded', myFunc) terbukti sia-sia. Adakah terdapat acara khusus yang mencetuskan apabila selesai ng-repeat?
Walaupun tiada peristiwa khusus yang menandakan penamatan ng-repeat, menggunakan arahan dan sifat khusus ng-repeat menyediakan berdaya maju penyelesaian.
Arahan
Jika matlamat anda adalah untuk menggayakan atau melampirkan pengendali acara pada keseluruhan jadual, anda boleh menggunakan arahan yang merangkumi semua elemen ng-ulang. Sebaliknya, untuk menangani elemen tertentu, gunakan arahan dalam ng-repeat, yang akan dilaksanakan untuk setiap elemen yang dicipta.
Sifat Ng-Repeat
$index, $ sifat pertama, $tengah dan $akhir membolehkan peristiwa pencetus. Sebagai contoh, anda boleh menggunakan sifat $last untuk memaparkan amaran apabila elemen terakhir dibuat.
Contoh
Pertimbangkan HTML berikut:
<div ng-controller="Ctrl" my-main-directive> <div ng-repeat="thing in things" my-repeat-directive> thing {{thing}} </div> </div>
Arahan yang disertakan mungkin menyerupai:
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'); }; });
Contoh penyelesaian ini beraksi melalui Plunker ini.
Atas ialah kandungan terperinci Adakah Terdapat Peristiwa Dicetuskan Apabila ng-Repeat Menamatkan Elemen Populasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!