Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh mengalih keluar Hashbang yang menjengkelkan (#) daripada Penghalaan AngularJS?
Penghalaan AngularJS Tanpa Hashbang yang Menjengkelkan (#)
Dalam AngularJS, penghalaan membolehkan anda mentakrifkan keadaan dan pandangan yang berbeza untuk aplikasi anda. Apabila menggunakan $routeProvider untuk mengisytiharkan peraturan penghalaan, anda mungkin mendapati bahawa URL dalam penyemak imbas termasuk simbol cincang (#). Contohnya, menavigasi ke halaman 'ujian' mungkin kelihatan seperti "app/#/test" dan bukannya "app/test".
Mengapa Hash?
AngularJS menggunakan simbol cincang untuk penyemak imbas bukan HTML5 untuk menghalang panggilan HTTP ke pelayan. Tanpa cincang, penyemak imbas lama akan menghantar permintaan kepada pelayan pada href yang ditentukan, yang tidak diingini untuk navigasi sisi klien.
Mengelakkan Hashbang
Untuk mengelakkan hashbang, anda boleh menggunakan kaedah $locationProvider.html5Mode(true) untuk memberitahu AngularJS menggunakan API sejarah HTML5 jika tersedia. API ini menyediakan pengendalian URL yang lebih baik dan membolehkan anda menggunakan URL yang lebih bersih tanpa cincang.
Pelayar Disokong
API sejarah HTML5 disokong oleh kebanyakan penyemak imbas moden. Berikut ialah senarai penyemak imbas yang disokong:
Contoh
Untuk mendayakan mod HTML5 dalam aplikasi AngularJS anda, cuma tambah kod berikut pada konfigurasi anda:
app.config(function($locationProvider) { $locationProvider.html5Mode(true); });
Sekali anda mendayakan mod HTML5, anda akan perasan bahawa hashbang dialih keluar daripada URL anda, memberikan pengalaman yang lebih mesra pengguna dan estetik untuk pengguna anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengalih keluar Hashbang yang menjengkelkan (#) daripada Penghalaan AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!