abortNavigation
abortNavigationは、ナビゲーションを防ぎ、パラメータとして設定された場合にエラーをスローするヘルパー関数です。
abortNavigationはルートミドルウェアハンドラー内でのみ使用可能です。
型
abortNavigation(err?: Error | string): false
パラメータ
err
-
型:
Error|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('権限が不十分です。')
}
})
errをエラーオブジェクトとして
エラーをErrorオブジェクトとして渡すことができます。例えば、catchブロックで捕捉された場合:
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* エラーをスローする可能性のあるコード */
} catch (err) {
return abortNavigation(err)
}
})
※このページは Nuxt.js 公式ドキュメントの翻訳ページです。
公式ドキュメントの該当ページはこちら:
https://nuxt.com/docs/4.x/api/utils/abort-navigation