Bagaimana Cara Mengubah Pendeteksian Dalam Angular - CRUDPRO

Bagaimana Cara Mengubah Pendeteksian Dalam Angular

Bagaimana Cara Mengubah Pendeteksian Dalam Angular

Deteksi perubahan mendeteksi perubahan di setiap elemen aplikasi Anda dan merender ulang penampilan, sehingga menampilkan nilai yang diperbarui ke pengguna akhir.

Peristiwa berbeda di mana perubahan terjadi:

  1. Data diterima dari permintaan jaringan atau peristiwa elemen.
  2. Click mouse, scrolling, mouseover, navigasi keyboard
  3. AJAX Calls
  4. Penggunaan fungsi pengatur waktu seperti setTimeout() atau setInterval().

Bagaimana cara kerja Change Detection

  1. Setiap sesuatu memicu perubahan.
  2. Untuk mendeteksi dan mengupdate DOM dengan data yang diubah, frame-work menyediakan detektor deteksi perubahannya sendiri untuk tiap elemen.
  3. Detektor perubahan memastikan model data dan DOM sinkron.
  4. Ketika deteksi perubahan Angular mendeteksi perubahan yang dipicu dan menjalankan deteksi perubahan ke semua pohon elemen dari atas ke bawah.

Strategi Deteksi Perubahan Sudut

Ada dua strategi pada intinya dalam sudut:-

  1. Strategi Deteksi Perubahan Standar
  2. Strategi Deteksi Perubahan OnPush

Strategi Deteksi Perubahan Standar

Jika Angular Change Detector diatur ke standar karena itu untuk setiap perubahan dalam property model apa pun itu, Angular akan menjalankan deteksi perubahan melintasi pohon elemen untuk mengupdate DOM.

Kelas Change Detector Ref menyediakan beberapa metode bawaan, yang bisa kita gunakan untuk memanipulasi detection tree perubahan.

  1. markForCheck() — mengidentifikasi jika itu berubah.
  2. detach() — mengecualikan tampilan dari detection tree perubahan
  3. detect Changes() — check tampilan dan elemen turunannya
  4. checkNoChanges() -periksa tampilan dan itu child, melempar kesalahan bila perubahan teridentifikasi.
  5. reattach() — pasang kembali tampilan yang sebelumnya lepas

Strategi Deteksi Perubahan Angular OnPush

Bila detektor perubahan sudut diatur ke onPush maka Angular akan menjalankan detektor perubahan hanya ketika referensi baru diteruskan ke elemen.

Bila observable diteruskan ke onPush, karena itu changeDetector harus dipanggil secara manual untuk mengupdate DOM

Manfaat

Pemeriksaan child yang tidak perlu tidak dilakukan bila elemen induk mengupdate nilai yang tidak diteruskan @Input

Bagaimana Cara Mengubah Pendeteksian Dalam Angular

Di sini kami telah mengubah strategi menjadi OnPush