Rumah > hujung hadapan web > View.js > teks badan

Bagaimana untuk menyelesaikan masalah 'Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa' apabila menggunakan vue-router dalam aplikasi Vue?

PHPz
Lepaskan: 2023-06-24 17:39:20
asal
1693 orang telah melayarinya

Apabila menggunakan vue-router dalam aplikasi Vue, mesej ralat "Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa" kadangkala muncul. Mesej ralat ini bermaksud "mengelakkan navigasi berlebihan ke lokasi semasa" dan biasanya disebabkan oleh mengklik pautan yang sama berulang kali atau menggunakan laluan penghalaan yang sama. Jadi, bagaimana untuk menyelesaikan masalah ini?

  1. Gunakan pengubah suai tepat

Apabila mentakrifkan pautan penghala atau menggunakan navigasi program, anda boleh menambah atribut yang tepat, yang bermaksud memadankan laluan dengan tepat. Contohnya:

<router-link to="/" exact>首页</router-link>
Salin selepas log masuk
  1. Gunakan atribut ganti

Dalam sesetengah kes, kami mungkin perlu membiarkan pengguna melompat dari satu halaman ke halaman lain tanpa menambah rekod baharu pada sejarah penyemak imbas Ini Anda boleh menggunakan kaedah ganti penghala. Contohnya:

router.replace('/login')
Salin selepas log masuk
  1. Gunakan kaedah beforeRouteUpdate

Jika kemas kini laluan dalam komponen tidak bertindak balas dalam masa, anda boleh menggunakan kaedah beforeRouteUpdate untuk mengemas kini komponen secara manual. Contohnya:

beforeRouteUpdate (to, from, next) {
  if (to.path === from.path) {
    next(false)
  } else {
    this.$forceUpdate()
    next()
  }
}
Salin selepas log masuk
  1. Elakkan klik berulang

Mengklik pautan yang sama berulang kali atau menggunakan laluan penghalaan yang sama akan mengakibatkan ralat "Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa". Kami boleh menggunakan beberapa teknik untuk menghalang pengguna daripada mengklik berulang kali, seperti menambahkan atribut yang dilumpuhkan pada pautan atau menggunakan fungsi pendikit.

Ringkasan:

Apabila menggunakan vue-router dalam aplikasi Vue, mesej ralat "Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa" mungkin muncul kerana laluan melompat berulang kali atau menggunakan laluan penghalaan yang sama. Kita boleh menyelesaikan masalah ini dengan menggunakan pengubah suai tepat, menggantikan atribut, kaedah beforeRouteUpdate atau mengelakkan klik berulang.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah 'Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa' apabila menggunakan vue-router dalam aplikasi Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan