abortNavigation
abortNavigation は、ナビゲーションの実行を妨げ、パラメータとしてエラーが設定されている場合はエラーをスローするヘルパー関数です。
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('Insufficient permissions.')
}
})
err をエラーオブジェクトとして
Error オブジェクトとしてエラーを渡すことができます。たとえば、catch ブロックでキャッチされた場合などです
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* code that might throw an error */
} catch (err) {
return abortNavigation(err)
}
})