


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>
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!

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 Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Menggunakan json.parse () rentetan ke objek adalah yang paling selamat dan paling efisien: pastikan rentetan mematuhi spesifikasi JSON dan mengelakkan kesilapan biasa. Gunakan cuba ... menangkap untuk mengendalikan pengecualian untuk meningkatkan keteguhan kod. Elakkan menggunakan kaedah eval (), yang mempunyai risiko keselamatan. Untuk rentetan JSON yang besar, parsing parsing atau parsing tak segerak boleh dipertimbangkan untuk mengoptimumkan prestasi.

Vue.js tidak sukar untuk dipelajari, terutamanya bagi pemaju dengan asas JavaScript. 1) Reka bentuk progresif dan sistem responsif memudahkan proses pembangunan. 2) Pembangunan berasaskan komponen menjadikan pengurusan kod lebih cekap. 3) Contoh penggunaan menunjukkan penggunaan asas dan lanjutan. 4) Kesilapan biasa boleh disahpepijat melalui Vuedevtools. 5) Pengoptimuman prestasi dan amalan terbaik, seperti menggunakan V-IF/V-Show dan atribut utama, boleh meningkatkan kecekapan aplikasi.

Vue.js sesuai untuk projek kecil dan sederhana dan lelaran yang cepat, sementara React sesuai untuk aplikasi besar dan kompleks. 1) Vue.js mudah digunakan dan sesuai untuk situasi di mana pasukan tidak mencukupi atau skala projek kecil. 2) React mempunyai ekosistem yang lebih kaya dan sesuai untuk projek dengan prestasi tinggi dan keperluan fungsional yang kompleks.

Vue.js terutamanya digunakan untuk pembangunan front-end. 1) Ia adalah rangka kerja JavaScript yang ringan dan fleksibel yang difokuskan pada membina antara muka pengguna dan aplikasi satu halaman. 2) Inti Vue.js adalah sistem data responsifnya, dan pandangannya dikemas kini secara automatik apabila data berubah. 3) Ia menyokong pembangunan komponen, dan UI boleh dibahagikan kepada komponen bebas dan boleh diguna semula.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.
