abortNavigation is only usable inside a route middleware handler.
Type Signature
function abortNavigation(err?: Error | string): false
Parameters
Optional error to be thrown by abortNavigation. Can be an Error object or a string message.
Return Value
Returns false to abort the navigation.
Examples
Basic Usage
The example below shows how you can use abortNavigation in a route middleware to prevent unauthorized route access:
// 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')
}
})
Using String Error Message
You can pass the error as a string:
// app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Insufficient permissions.')
}
})
Using Error Object
You can pass the error as an Error object, e.g. caught by the catch-block:
// app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* code that might throw an error */
} catch (err) {
return abortNavigation(err)
}
})
See Also