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