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)
}
})