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