Rumah >hujung hadapan web >View.js >Apakah perbezaan antara sejarah dan cincang dalam vue

Apakah perbezaan antara sejarah dan cincang dalam vue

WBOY
WBOYasal
2022-03-17 15:48:2624772semak imbas

Perbezaan: 1. Laluan cincang mempunyai "#" pada URL dalam bar alamat, tetapi laluan sejarah tidak; 2. Apabila melakukan operasi muat semula tekan masukkan, laluan cincang akan dimuatkan ke dalam halaman yang sepadan dengan bar alamat, manakala laluan sejarah Secara amnya, ralat 404 akan berlaku 3. Hash menyokong beberapa pelayar versi yang lebih rendah, tetapi sejarah tidak menyokongnya.

Apakah perbezaan antara sejarah dan cincang dalam vue

Persekitaran pengendalian artikel ini: sistem Windows 10, versi Vue 2.9.6, komputer DELL G3.

Apakah perbezaan antara sejarah dan cincang dalam Vue?

  • 1. Laluan cincang mempunyai # pada URL dalam bar alamat dan dibaca dengan window.location .hash. Laluan sejarah tidak akan kelihatan lebih baik

  • 2. Kami melakukan operasi tekan enter refresh, dan laluan cincang akan dimuatkan ke halaman yang sepadan dengan bar alamat, manakala laluan sejarah biasanya melaporkan ralat 404 (segar semula ialah permintaan Rangkaian, ralat akan dilaporkan jika tiada penyediaan bahagian belakang).

  • 3. Penghalaan cincang menyokong pelayar versi yang lebih rendah, manakala penghalaan sejarah ialah API baharu dalam HTML5.

  • 4.hash dicirikan oleh bahawa walaupun ia muncul dalam URL, ia tidak termasuk dalam permintaan http, jadi ia tidak mempunyai kesan pada bahagian belakang, jadi menukar cincang tidak akan Muat semula halaman, jadi ini juga satu kemestian untuk aplikasi satu halaman.

  • 5.history menggunakan timbunan sejarah penyemak imbas Terdapat kaedah back, forward dan go sebelum ini, kaedah pushState() dan replaceState() telah ditambahkan dalam HTML5 fungsi mengubah suai rekod sejarah Walau bagaimanapun, apabila mengubah suai, walaupun URL semasa ditukar, penyemak imbas tidak akan segera menghantar permintaan ke bahagian belakang.

  • 6. Mod sejarah ini memerlukan sokongan konfigurasi latar belakang. Sebagai contoh: apabila kita pergi ke halaman utama projek, semuanya adalah normal dan boleh diakses, tetapi apabila kita menyegarkan halaman atau terus mengakses laluan, 404 akan dikembalikan kerana dalam mod sejarah, window.history hanya dikendalikan secara dinamik melalui js Untuk menukar laluan dalam bar alamat penyemak imbas, tiada permintaan http dimulakan, tetapi apabila saya memasukkan alamat ini terus ke dalam penyemak imbas, saya mesti memulakan permintaan http ke pelayan, tetapi sasaran ini tidak wujud pada pelayan, jadi Akan kembali 404

Ringkasan

Sudah tentu sejarah tidak baik untuk segala-galanya. Walaupun SPA mudah digunakan dalam penyemak imbas, perbezaan antara keduanya berlaku apabila anda benar-benar perlu memulakan permintaan HTTP ke bahagian belakang melalui URL. Terutama apabila pengguna memasukkan URL secara manual dan menekan Enter, atau menyegarkan (memulakan semula) penyemak imbas.

1: Dalam mod cincang, hanya kandungan sebelum simbol cincang akan disertakan dalam permintaan, seperti http://www.abc.com, jadi untuk bahagian belakang, walaupun penghalaan tidak dilaksanakan Penuh perlindungan, tiada ralat 404 akan dikembalikan.

2: Dalam mod sejarah, URL bahagian hadapan mesti konsisten dengan URL yang sebenarnya memulakan permintaan ke bahagian belakang. Seperti http://www.abc.com/book/id. Jika bahagian belakang tidak mempunyai pemprosesan penghalaan untuk /book/id, ralat 404 akan dikembalikan

Penyelesaian masalah:

Penyelesaian kepada ralat 404: Banyak kaedah yang diperkenalkan dalam talian tidak akan berfungsi. Pasang modul penulisan semula URL, konfigurasikan peraturan penulisan semula dan arahkannya ke index.html Atau letakkan terus fail web.config yang dijana oleh penulisan semula URL secara langsung dalam direktori akar tapak web.

[Cadangan berkaitan: "tutorial vue.js"]

Atas ialah kandungan terperinci Apakah perbezaan antara sejarah dan cincang dalam vue. 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