abortNavigation
仅在 路由中间件处理程序 内部可用。¥abortNavigation
is only usable inside a route middleware handler.类型
¥Type
abortNavigation(err?: Error | string): false
参数
¥Parameters
err
- 类型:
Error
|string
abortNavigation
抛出的可选错误。
示例
¥Examples
以下示例展示了如何在路由中间件中使用 abortNavigation
来防止未经授权的路由访问:
¥The example below shows how you can use abortNavigation
in a route middleware to prevent unauthorized route access:
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
作为字符串
¥err
as a String
你可以将错误作为字符串传递:
¥You can pass the error as a string:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Insufficient permissions.')
}
})
err
作为错误对象
¥err
as an Error Object
你可以将错误作为 Error
对象传递,例如,由 catch
块捕获:
¥You can pass the error as an Error
object, e.g. caught by the catch
-block:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* code that might throw an error */
} catch (err) {
return abortNavigation(err)
}
})