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('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)
}
})