Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencetuskan Fungsi jQuery Selepas ng-repeat Selesai Mengisi Jadual?

Bagaimana untuk Mencetuskan Fungsi jQuery Selepas ng-repeat Selesai Mengisi Jadual?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 08:39:111069semak imbas

How to Trigger jQuery Functions After ng-repeat Finishes Populating a Table?

Mencetuskan Peristiwa selepas Populasi ng-repeat

Anda mahu melaksanakan fungsi jQuery pada div yang mengandungi jadual yang diisi menggunakan ng-repeat, tetapi tidak $(document).ready() mahupun $scope.$on('$viewContentLoaded', myFunc) mencetuskannya.

Pendekatan Arahan Tersuai

Arahan menyediakan cara untuk mencipta kefungsian tersuai. Memandangkan tiada peristiwa terbina dalam untuk penghujung gelung ng-ulang, anda boleh menggunakan arahan untuk mencapai perkara ini.

Terdapat dua senario untuk dipertimbangkan:

  1. Manipulasi seluruh jadual: Jika anda hanya perlu menggayakan atau menambah acara pada keseluruhan jadual, anda boleh menggunakan arahan yang merangkumi semua elemen ng-repeat.
  2. Manipulasi khusus elemen: Jika anda perlu menyasarkan elemen individu, anda boleh menggunakan arahan dalam ng-repeat yang akan bertindak pada setiap elemen selepas penciptaannya.

Sifat untuk Mencetuskan Peristiwa

Selain itu, anda boleh menggunakan sifat berikut dengan ng-repeat:

  • $index: Indeks elemen semasa.
  • $first: Boolean yang menunjukkan jika elemen itu adalah yang pertama dalam senarai .
  • $middle: Boolean menunjukkan jika elemen berada di tengah-tengah senarai.
  • $last: Boolean yang menunjukkan jika elemen adalah yang terakhir dalam senarai.

Contoh

Pertimbangkan HTML berikut:

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

Anda boleh menentukan arahan untuk memanipulasi elemen:

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

Dalam contoh ini, myRepeatDirective menetapkan warna setiap elemen kepada biru dan memberi amaran "saya yang terakhir!" untuk elemen terakhir. myMainDirective menetapkan sempadan di sekeliling seluruh meja.

Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Fungsi jQuery Selepas ng-repeat Selesai Mengisi Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn