Angular Tanpa Zona
Jalankan Angular tanpa Zone.js.
Angular Tanpa Zona adalah pelajaran Angular Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Angular Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Angular Academy mencakup 4 pelajaran total.
Melampaui Zone.js
Zone.js memiliki overhead dan menambal API global. Angular modern menawarkan mode tanpa zona, yaitu deteksi perubahan digerakkan oleh sinyal dan notifikasi eksplisit, bukan penambalan zona.
Mengaktifkan Mode Tanpa Zona
Sediakan penyedia deteksi perubahan tanpa zona dalam konfigurasi bootstrap Anda.
bootstrapApplication(AppComponent, {
providers: [
provideExperimentalZonelessChangeDetection()
]
});Menghapus Zone.js
Dalam mode tanpa zona, Anda juga menghapus polifil zone.js dari konfigurasi build, sehingga ukuran bundel dan biaya awal pemuatan berkurang.
// angular.json: remove "zone.js" from polyfills
// main.ts: do not import 'zone.js'Apa yang Kini Memicu Deteksi?
Tanpa zona, Angular menjadwalkan deteksi perubahan ketika: sinyal yang dibaca dalam templat berubah, pipa async memancarkan nilai, pengikatan peristiwa dipicu, atau markForCheck() dipanggil.
Sinyal Adalah Inti
Aplikasi tanpa zona sangat bergantung pada sinyal untuk menyimpan keadaan. Membaca sinyal dalam templat membuat dependensi; memperbaruinya memberi tahu Angular untuk menyegarkan tampilan tersebut.
count = signal(0);
// template: {{ count() }}
this.count.set(5); // schedules CDPeristiwa Tetap Memberi Tahu
Pengikatan peristiwa templat memberi tahu Angular secara langsung, sehingga interaksi pengguna tetap memperbarui antarmuka pengguna tanpa zona.
<button (click)="count.update(c => c + 1)">+</button>Asinkron Tanpa Zona
setTimeout mentah atau operasi asinkron non-sinyal tidak lagi memicu deteksi secara otomatis. Bungkus keadaan tersebut dalam sinyal atau panggil markForCheck().
setTimeout(() => this.ready.set(true), 1000);Kompatibilitas Pipa async
Pipa async tetap berfungsi dalam mode tanpa zona karena secara eksplisit menandai tampilan untuk diperiksa pada setiap pemancaran nilai.
<p>{{ data$ | async }}</p>Pustaka Pihak Ketiga
Beberapa pustaka mengasumsikan deteksi otomatis oleh Zone.js. Dalam mode tanpa zona, Anda mungkin perlu membungkus callback-nya untuk memperbarui sinyal atau memanggil markForCheck() secara manual.
Manfaat
Mode tanpa zona berarti bundel yang lebih kecil, pemuatan awal yang lebih cepat, lebih sedikit siklus tambahan yang tidak terduga, serta model mental yang lebih jelas: antarmuka pengguna hanya diperbarui saat keadaan yang Anda lacak benar-benar berubah.
Status Eksperimental
Penyedia ini bernama provideExperimentalZonelessChangeDetection karena API-nya masih distabilkan. Gunakan untuk aplikasi baru yang mengutamakan sinyal dan lakukan pengujian secara menyeluruh.
Pemeriksaan Singkat
Uji pemahaman Anda tentang Angular tanpa zona.
Ringkasan
Anda telah mempelajari bahwa provideExperimentalZonelessChangeDetection() menghilangkan kebutuhan akan Zone.js, dengan menggerakkan pembaruan melalui sinyal, peristiwa, pipa async, dan markForCheck() untuk menghasilkan aplikasi yang lebih kecil, cepat, dan mudah diprediksi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Angular Tanpa Zona” gratis?
Ya — teks lengkap “Angular Tanpa Zona” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Angular Academy, upgrade ke CoddyKit PRO. Kursus Angular Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Angular Tanpa Zona”?
Jalankan Angular tanpa Zone.js. Kamu berlatih Angular Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Angular Academy?
Tidak diperlukan pengalaman sebelumnya. Angular Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Angular Tanpa Zona” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Angular Academy ini?
Ya. Setiap pelajaran Angular Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Cara Kerja Deteksi Perubahan
- Deteksi Perubahan OnPush
- Angular Tanpa Zona
- Mengoptimalkan Daftar dan Rendering