Saya telah mencari untuk menggunakan perisian tengah Nuxt dalam reka letak saya. Tetapi saya tidak pasti sama ada ia boleh, tetapi, kerana saya menggunakannya dalamNuxt 2, ia mungkin boleh dalamNuxt 3.
Projek ini datang dalam 2 susun atur berbeza:Public.vue和Admin.vue. Saya hanya mahu menggunakan perisian tengah dalam halaman menggunakanUrus Reka Letak. Kerana halaman yang menggunakannya hanya boleh diakses oleh pengguna log masuk dan semakan dilakukan di dalam middleware.
Saya cuba ini (tidak berkesan):
Urus reka letak|urus.vue
Perisian tengah | adminAuth.ts
export default defineNuxtRouteMiddleware((to, from) => { console.log(to); console.log("Acessando o admin auth middleware"); })
Middleware tidak boleh digunakan dalam susun atur kerana middleware hanya boleh digunakan dalam halaman, tetapi anda boleh mencuba kaedah ini.
Dengan mengisytiharkan
.global后缀来创建全局中间件,例如auth.global.tsselepas nama fail middleware.Dalam
auth.global.tsfail anda boleh menggunakan elemen reka letak sebagai logik untuk mensimulasikan seolah-olah perisian tengah berada dalam tetapan reka letak anda.Contoh logiknya macam ni
export default defineNuxtRouteMiddleware((to, from) => { const user = useUserStore(); if (!user && to.meta.layout === auth) { return navigateTo("/login"); } });Semoga ini membantu
Anda tidak boleh. Middleware hanya berfungsi pada halaman.
Sebaliknya, buat komponen Halaman induk menggunakan perisian tengah auth dan komponen
NuxtPagedi dalam templat. Untuk mendapatkan maklumat lanjut tentangPenghalaan Bersarang, lihat dokumentasi Nuxt 3.Contoh:
/pages/admin.vue(laluan =>/admin)
// you can add auth based components as well
sssccc/pages/admin(folder)
admin/order.vue route =>/admin/orders
admin/page.vue route =>/admin/some-route