abortNavigation は、ルーティングミドルウェアハンドラー の内部でのみ使用できます。タイプ
署名
export function abortNavigation (err?: Error | string): false
パラメーター
err
- タイプ:
エラー|stringabortNavigationによってスローされるオプションのエラー。
例
以下の例は、ルーティングミドルウェアで abortNavigation を使用して、不正なルートアクセスを防ぐ方法を示しています。
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')
}
})
err を文字列として
エラーを文字列として渡すことができます。
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Insufficient permissions.')
}
})
err をエラーオブジェクトとして
エラーをエラーオブジェクトとして渡すことができます (例: catch ブロックによって捕捉された場合)。
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* code that might throw an error */
} catch (err) {
return abortNavigation(err)
}
})