abortNavigation
只能在路由中间件处理程序内部使用。类型
签名
export function abortNavigation (err?: Error | string): false
参数
错误
- 类型:
错误
|string
abortNavigation
可选抛出的错误。
示例
以下示例展示了如何在路由中间件中使用 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('Insufficient permissions.')
}
})
err
作为错误对象
您可以将错误作为错误
对象传递,例如由 catch
块捕获的错误。
app/middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* code that might throw an error */
} catch (err) {
return abortNavigation(err)
}
})