abortNavigation
abortNavigation - это хелпер функция, которая предотвращает навигацию и выбрасывает ошибку, если она задана в качестве параметра.
abortNavigation можно использовать только внутри обработчика middleware маршрута.Тип
abortNavigation(err?: Error | string): false
Параметры
err
- тип:
Error|string
Опциональная ошибка, которая будет выброшена при вызовеabortNavigation.
Примеры
В примере ниже показано, как можно использовать abortNavigation в middleware маршрута для предотвращения несанкционированного доступа к маршруту:
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')
}
})
err в виде String
Вы можете передать ошибку в виде строки:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Недостаточно прав.')
}
})
err в виде Error Object
Вы можете передать ошибку в виде объекта Error, например, перехваченного блоком catch:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* код, который может вызвать ошибку */
} catch (err) {
return abortNavigation(err)
}
})