


Bagaimana untuk Melaksanakan Skrin Memuatkan Semasa Peralihan Laluan dalam Sudut?
Memaparkan Skrin Memuatkan Semasa Peralihan Laluan dalam Sudut 2
Penghala Sudut menawarkan Acara Navigasi yang membolehkan anda memantau perubahan dan mengubah suai UI dengan sewajarnya. Acara ini termasuk NavigationStart, NavigationEnd, NavigationCancel dan NavigationError.
Menggunakan Acara Navigasi
Untuk memaparkan skrin pemuatan semasa perubahan laluan, anda boleh melanggan Acara Navigasi ini dalam komponen akar anda (biasanya apl .component.ts) dan togol UI pemuatan berdasarkan acara tertentu dicetuskan.
Mula-mula, import kelas berkaitan acara yang diperlukan daripada @angular/router dan tentukan bendera boolean, memuatkan, dalam komponen akar anda.
import { Router, Event as RouterEvent, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router' @Component({}) export class AppComponent { loading = true; // Initializing to true to show loading spinner on first load constructor(private router: Router) { this.router.events.subscribe((e : RouterEvent) => { this.navigationInterceptor(e); }) } }
Dalam kaedah navigationInterceptor, anda boleh mendengar acara NavigationStart, NavigationEnd, NavigationCancel dan NavigationError dan togol pemuatan bendera berdasarkan setiap acara.
// Shows and hides the loading spinner during RouterEvent changes navigationInterceptor(event: RouterEvent): void { if (event instanceof NavigationStart) { this.loading = true; } if (event instanceof NavigationEnd) { this.loading = false; } if (event instanceof NavigationCancel) { this.loading = false; } if (event instanceof NavigationError) { this.loading = false; } }
Dalam templat akar anda, anda kemudian boleh menggunakan pemaparan bersyarat untuk memaparkan tindanan pemuatan berdasarkan keadaan bendera pemuatan.
<div>
Dengan mengikuti ini pendekatan, anda boleh memaparkan skrin pemuatan dengan berkesan semasa peralihan laluan dalam aplikasi Angular 2 anda.
Prestasi Pengoptimuman
Jika prestasi membimbangkan, anda boleh memanfaatkan NgZone dan Renderer untuk meningkatkan prestasi pemutar pemuatan, seperti yang ditunjukkan dalam coretan kod yang dikemas kini di bawah:
private _navigationInterceptor(event: RouterEvent): void { if (event instanceof NavigationStart) { this.ngZone.runOutsideAngular(() => { this.renderer.setElementStyle( this.spinnerElement.nativeElement, 'opacity', '1' ) }) } if (event instanceof NavigationEnd) { this._hideSpinner() } // Set loading state to false in both of the below events to // hide the spinner in case a request fails if (event instanceof NavigationCancel) { this._hideSpinner() } if (event instanceof NavigationError) { this._hideSpinner() } } private _hideSpinner(): void { this.ngZone.runOutsideAngular(() => { this.renderer.setElementStyle( this.spinnerElement.nativeElement, 'opacity', '0' ) }) }
Teknik ini memintas pengesanan perubahan Angular mekanisme apabila mengemas kini kelegapan pemutar, menghasilkan peralihan yang lebih lancar.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Skrin Memuatkan Semasa Peralihan Laluan dalam Sudut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Dua artikel diterbitkan pada hari yang sama:

Goofonts adalah projek sampingan yang ditandatangani oleh isteri pemaju dan suami pereka, kedua-duanya peminat besar tipografi. Kami telah menandakan Google

Ini saya melihat elemen HTML untuk kali pertama. Saya telah menyedarinya untuk seketika, tetapi Haven ' t mengambilnya untuk putaran lagi. Ia mempunyai cukup keren dan

Bahagian pertama siri dua bahagian ini terperinci bagaimana kita boleh mendapatkan slider dua thumb. Sekarang kita akan melihat kes multi-thumb umum, tetapi dengan yang berbeza dan

Untuk sementara waktu, iTunes adalah anjing besar dalam podcasting, jadi jika anda mengaitkan "Langgan Podcast" untuk suka:
