Rumah >hujung hadapan web >View.js >Bagaimana untuk menyelesaikan masalah 'Ralat: Mengelakkan navigasi berlebihan ke lokasi semasa' apabila menggunakan vue-router dalam aplikasi Vue?

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

PHPz
PHPzasal
2023-06-24 17:39:201755semak imbas

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>
  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')
  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()
  }
}
  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!

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