abortNavigation
abortNavigation é uma função auxiliar que impede a navegação e lança um erro se um for definido como parâmetro.
abortNavigation
só pode ser usado dentro de um manipulador de middleware de rota.
Tipo
abortNavigation(err?: Error | string): false
Parâmetros
err
-
Tipo:
Error
|string
Erro opcional a ser lançado por
abortNavigation
.
Exemplos
O exemplo abaixo mostra como você pode usar abortNavigation
em um middleware de rota para impedir o acesso não autorizado à rota:
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
como uma String
Você pode passar o erro como uma string:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
const user = useState('user')
if (!user.value.isAuthorized) {
return abortNavigation('Permissões insuficientes.')
}
})
err
como um Objeto de Erro
Você pode passar o erro como um objeto Error
, por exemplo, capturado pelo bloco catch
:
middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
try {
/* código que pode lançar um erro */
} catch (err) {
return abortNavigation(err)
}
})
※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/api/utils/abort-navigation