abortNavigation можно вызывать только внутри маршрутного middleware.Тип
Signature
export function abortNavigation (err?: Error | string): false
Параметры
err
- Тип:
Error|string
Необязательная ошибка, которую выброситabortNavigation.
Примеры
В примере ниже abortNavigation в маршрутном middleware запрещает доступ неавторизованным пользователям:
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation()
}
if (to.path !== '/edit-post') {
return navigateTo('/edit-post')
}
})
Ошибка строкой
Можно передать строку:
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Недостаточно прав.')
}
})
Ошибка объектом Error
Можно передать объект Error, например из блока catch:
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* код, который может выбросить ошибку */
} catch (err) {
return abortNavigation(err)
}
})