


Cara melaksanakan penghalaan dinamik dan pengawal penghalaan dalam Vue
Cara melaksanakan penghalaan dinamik dan pengawal penghalaan dalam Vue
Dalam Vue, penghalaan ialah konsep yang sangat penting, yang berkaitan dengan lonjakan halaman, kawalan kebenaran, dsb. Artikel ini akan memperkenalkan cara melaksanakan penghalaan dinamik dan pengawal penghalaan serta memberikan contoh kod khusus.
1. Penghalaan dinamik
Penghalaan dinamik merujuk kepada penjanaan konfigurasi penghalaan yang berbeza berdasarkan keadaan atau parameter yang berbeza. Penghalaan dinamik Vue dilaksanakan menggunakan Penghala Vue.
- Pasang Vue Router
Mula-mula, kita perlu memasang Vue Router. Jalankan arahan berikut dalam direktori akar projek:
npm install vue-router
- Konfigurasikan fail penghalaan
Buat direktori penghala dalam direktori src projek dan buat fail index.js dalam direktori untuk mengkonfigurasi penghalaan.
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [] })
- Menjana laluan secara dinamik
Kami boleh mendapatkan konfigurasi penghalaan dinamik melalui antara muka hujung belakang atau kaedah lain, dan kemudian menambahkannya pada konfigurasi penghalaan.
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) // 获取动态路由配置 // 假设通过接口获取到的路由数据为response.data const dynamicRoutes = response.data // 添加动态路由 router.addRoutes(dynamicRoutes) export default router
Dengan kod di atas, kami boleh menjana laluan secara dinamik berdasarkan data yang dikembalikan oleh antara muka latar belakang dan menambahkannya pada konfigurasi Penghala Vue.
2. Pengawal laluan
Pengawal laluan boleh digunakan untuk mengawal akses pengguna ke laluan tertentu Sebagai contoh, pengguna perlu log masuk sebelum mereka boleh mengakses halaman tertentu. Penghala Vue menyediakan fungsi pengawal laluan.
Pertama sekali, kita perlu memahami beberapa konsep yang berkaitan dengan pengawal laluan:
- Pra-pengawal global: dilaksanakan sebelum penukaran penghalaan, ia boleh digunakan untuk kawalan kebenaran global dan operasi lain.
- Pengawal eksklusif laluan: Ia hanya sah untuk laluan tertentu dan boleh digunakan untuk kawalan kebenaran tempatan dan operasi lain.
- Pengawal dalam komponen: Hanya sah untuk komponen tertentu, dan boleh digunakan untuk melaksanakan operasi seperti kawalan kebenaran dalam komponen.
- Global front guard
Kita boleh menggunakan global guards dalam fail konfigurasi penghalaan (router/index.js). Contohnya, untuk melaksanakan kawalan kebenaran log masuk:
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) // 添加全局前置守卫 router.beforeEach((to, from, next) => { // 判断用户是否登录 const isLogin = localStorage.getItem('isLogin') // 如果用户未登录,并且访问的页面需要登录权限,则跳转至登录页 if (!isLogin && to.meta.requireAuth) { next('/login') } else { next() } }) export default router
Dalam kod di atas, kami menambah pengawal hadapan global melalui kaedah router.beforeEach()
. Dalam pengawal ini, kami menentukan sama ada pengguna telah log masuk dan membuat lompatan yang sepadan mengikut situasi yang berbeza. router.beforeEach()
方法来添加全局前置守卫。在该守卫中,我们判断用户是否登录,并根据不同情况进行相应的跳转。
- 路由独享守卫
除了全局前置守卫外,我们还可以为某个路由单独配置守卫。例如,实现管理员权限控制:
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [ { path: '/admin', component: AdminComponent, meta: { requireAdmin: true } // 设置路由元信息 } ] }) export default router
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [ { path: '/admin', component: AdminComponent, meta: { requireAdmin: true } // 设置路由元信息 } ] }) // 添加全局前置守卫 router.beforeEach((to, from, next) => { // 判断用户是否为管理员 const isAdmin = localStorage.getItem('isAdmin') // 如果用户不是管理员,并且访问的页面需要管理员权限,则跳转至首页 if (!isAdmin && to.meta.requireAdmin) { next('/') } else { next() } }) export default router
在以上代码中,我们给/admin
路由配置了元信息meta.requireAdmin
- Pengawal eksklusif untuk laluan
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) export default router
// App.vue <template> <div> <!-- 页面内容 --> </div> </template> <script> export default { // 组件内的守卫:每次路由切换后滚动到顶部 beforeRouteUpdate(to, from, next) { window.scrollTo(0, 0) next() } } </script>Dalam kod di atas, kami mengkonfigurasi maklumat meta
meta.requireAdmin
untuk laluan /admin
untuk menentukan bahawa halaman memerlukan kebenaran pentadbir. Kemudian, gunakan pengawal hadapan global untuk menentukan sama ada pengguna ialah pentadbir, dan buat lompatan yang sepadan.
Pengawal dalam komponen
🎜🎜Selain pengawal hadapan global dan pengawal eksklusif laluan, Vue Router juga menyediakan pengawal dalam komponen. Contohnya, untuk mengawal tingkah laku menatal halaman: 🎜rrreeerrreee🎜Dalam kod di atas, kami menggunakan kaedah beforeRouteUpdate() dalam komponen App.vue untuk menatal halaman ke atas selepas setiap suis laluan. 🎜🎜Ringkasan: Artikel ini memperkenalkan cara melaksanakan penghalaan dinamik dan pengawal penghalaan dalam Vue dan memberikan contoh kod khusus. Penghalaan dinamik boleh menjana laluan yang berbeza dengan mendapatkan konfigurasi penghalaan dinamik. Pengawal laluan boleh digunakan untuk mengawal akses pengguna ke laluan tertentu, termasuk pengawal hadapan global, pengawal eksklusif laluan dan pengawal dalam komponen. Pelaksanaan fungsi ini sangat penting untuk membina aplikasi bahagian hadapan yang kompleks. 🎜Atas ialah kandungan terperinci Cara melaksanakan penghalaan dinamik dan pengawal penghalaan dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Vue.js lebih mudah digunakan dan mempunyai lengkung pembelajaran yang lancar, yang sesuai untuk pemula; React mempunyai lengkung pembelajaran yang lebih curam, tetapi mempunyai fleksibiliti yang kuat, yang sesuai untuk pemaju yang berpengalaman. 1.vue.js mudah dimulakan melalui reka bentuk pengikatan data mudah dan progresif. 2. REACT memerlukan pemahaman tentang DOM dan JSX maya, tetapi memberikan kelebihan fleksibiliti dan prestasi yang lebih tinggi.

Vue.js sesuai untuk pembangunan pantas dan projek kecil, sementara React lebih sesuai untuk projek besar dan kompleks. 1.vue.js adalah mudah dan mudah dipelajari, sesuai untuk pembangunan pesat dan projek kecil. 2. REACT adalah kuat dan sesuai untuk projek besar dan kompleks. 3. Ciri -ciri progresif Vue.js sesuai untuk memperkenalkan fungsi secara beransur -ansur. 4. DOM Componented dan Maya React berfungsi dengan baik apabila berurusan dengan aplikasi UI dan intensif data yang kompleks.

Vue.js dan bertindak balas masing -masing mempunyai kelebihan dan kekurangan mereka sendiri. Apabila memilih, anda perlu mempertimbangkan secara komprehensif kemahiran pasukan, saiz projek dan keperluan prestasi. 1) Vue.js sesuai untuk pembangunan cepat dan projek kecil, dengan lengkung pembelajaran yang rendah, tetapi objek bersarang yang mendalam dapat menyebabkan masalah prestasi. 2) React sesuai untuk aplikasi besar dan kompleks, dengan ekosistem yang kaya, tetapi kemas kini yang kerap boleh menyebabkan kemunculan prestasi.

Vue.js sesuai untuk projek kecil dan sederhana, manakala React sesuai untuk projek besar dan senario aplikasi yang kompleks. 1) Vue.js mudah digunakan dan sesuai untuk prototaip cepat dan aplikasi kecil. 2) React mempunyai lebih banyak kelebihan dalam mengendalikan pengurusan negara yang kompleks dan pengoptimuman prestasi, dan sesuai untuk projek besar.

Vue.js dan bertindak balas masing -masing mempunyai kelebihan mereka sendiri: vue.js sesuai untuk aplikasi kecil dan perkembangan pesat, sementara React sesuai untuk aplikasi besar dan pengurusan negara yang kompleks. 1.vue.js Menyedari kemas kini automatik melalui sistem responsif, sesuai untuk aplikasi kecil. 2. REACT menggunakan algoritma DOM dan Diff Virtual, yang sesuai untuk aplikasi besar dan kompleks. Apabila memilih rangka kerja, anda perlu mempertimbangkan keperluan projek dan timbunan teknologi pasukan.

Vue.js dan bertindak balas masing -masing mempunyai kelebihan sendiri, dan pilihan harus berdasarkan keperluan projek dan tumpukan teknologi pasukan. 1. Vue.js adalah mesra komuniti, menyediakan sumber pembelajaran yang kaya, dan ekosistem termasuk alat rasmi seperti Vuerouter, yang disokong oleh pasukan rasmi dan masyarakat. 2. Komuniti React adalah berat sebelah terhadap aplikasi perusahaan, dengan ekosistem yang kuat, dan sokongan yang disediakan oleh Facebook dan komuniti, dan mempunyai kemas kini yang kerap.

Netflix menggunakan React untuk meningkatkan pengalaman pengguna. 1) Ciri -ciri komponen React membantu Netflix Split Complex UI ke dalam modul yang boleh diurus. 2) Maya DOM mengoptimumkan kemas kini UI dan meningkatkan prestasi. 3) Menggabungkan Redux dan GraphQL, Netflix dengan cekap menguruskan status aplikasi dan aliran data.

Vue.js adalah kerangka depan, dan rangka kerja belakang digunakan untuk mengendalikan logik sisi pelayan. 1) Vue.js memberi tumpuan kepada membina antara muka pengguna dan memudahkan pembangunan melalui pengikatan data komponen dan responsif. 2) Rangka kerja back-end seperti Express dan Django mengendalikan permintaan HTTP, operasi pangkalan data dan logik perniagaan, dan dijalankan di pelayan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual
