abortNavigation은 라우트 미들웨어 핸들러 내부에서만 사용할 수 있습니다.타입
abortNavigation(err?: Error | string): false
파라미터
err
- 타입:
Error|stringabortNavigation에 의해 발생될 선택적 에러입니다.
예시
아래 예시는 라우트 미들웨어에서 abortNavigation을 사용하여 권한이 없는 라우트 접근을 방지하는 방법을 보여줍니다:
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를 문자열로 전달
에러를 문자열로 전달할 수 있습니다:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('권한이 부족합니다.')
}
})
err를 Error 객체로 전달
에러를 Error 객체로 전달할 수 있습니다. 예를 들어 catch 블록에서 잡은 에러를 전달할 수 있습니다:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* 에러가 발생할 수 있는 코드 */
} catch (err) {
return abortNavigation(err)
}
})