Rumah >hujung hadapan web >View.js >Cara menggunakan pengawal navigasi laluan untuk mengawal lompatan laluan dalam Vue
Dalam Vue, penghalaan adalah bahagian yang sangat penting, yang mengawal lompatan dan navigasi antara halaman. Dalam pembangunan sebenar, kita selalunya perlu mengawal laluan tertentu, contohnya, akses hanya boleh dilakukan apabila log masuk atau hak pentadbir diperlukan untuk akses, dsb. Pada masa ini, anda perlu menggunakan pengawal navigasi penghalaan untuk melaksanakan kawalan penghalaan.
Pengawal navigasi laluan boleh memintas lompatan laluan dan melakukan beberapa operasi sebelum atau selepas lompatan laluan. Dalam Vue, pengawal navigasi penghalaan biasanya dilaksanakan menggunakan pengawal navigasi global dan pengawal navigasi dalam komponen. Di bawah ini kami akan memperkenalkan cara menggunakan kedua-dua kaedah ini masing-masing.
1. Pengawal navigasi global
Pengawal navigasi global boleh mengawal penghalaan global dan biasanya didaftarkan dalam contoh Vue. Pengawal navigasi global mengandungi tiga fungsi cangkuk:
Fungsi ini dilaksanakan sebelum laluan melompat dan ia menerima tiga parameter:
Dalam fungsi sebelumSetiap, kita boleh menilai laluan Jika syarat dipenuhi, jika tidak, gunakan kaedah seterusnya untuk memintas atau mengubah hala. Contohnya, tentukan sama ada untuk log masuk:
router.beforeEach((to, from, next) => { if (to.meta.requiresAuth && !store.state.isAuthenticated) { next('/login') } else { next() } })
Fungsi ini dilaksanakan selepas laluan melompat >
router.afterEach((to, from) => { // 记录访问记录 })
{ path: '/dashboard', component: Dashboard, beforeEnter: (to, from, next) => { if (store.state.isAdmin) { next() } else { next('/login') } } }Apabila menggunakan pengawal navigasi global, perlu diambil perhatian bahawa jika berbilang pengawal dilaksanakan, kaedah seterusnya perlu digunakan untuk mengawal susunan pelaksanaan. 2. Pengawal navigasi dalam komponen Kawal navigasi dalam komponen menggunakan dua fungsi, beforeRouteEnter dan beforeRouteLeave, untuk melaksanakan kawalan penghalaan.
{ path: '/user/:id', component: User, beforeEnter: (to, from, next) => { api.getUser(to.params.id) .then(user => { to.meta.user = user next() }) .catch(error => { next('/error') }) } }
beforeRouteLeave(to, from, next) { if (this.formDirty) { if (confirm('您是否要保存数据?')) { this.saveData() next() } else { next(false) } } else { next() } }Apabila menggunakan pengawal navigasi dalam komponen, perlu diperhatikan bahawa jika berbilang pengawal dilaksanakan, kaedah seterusnya perlu digunakan untuk mengawal susunan pelaksanaan. Ringkasnya, pengawal navigasi penghalaan adalah bahagian yang sangat penting dalam Vue, yang boleh membantu kami mengawal penghalaan secara fleksibel. Dalam pembangunan sebenar, kita perlu memilih cara yang sesuai untuk menggunakan pengawal navigasi penghalaan berdasarkan keperluan perniagaan, untuk mencapai kawalan penghalaan yang lebih baik dan meningkatkan pengalaman pengguna.
Atas ialah kandungan terperinci Cara menggunakan pengawal navigasi laluan untuk mengawal lompatan laluan dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!