nuxt logo

Traducción de Documentación (No Oficial)

abortNavigation

abortNavigation es una función auxiliar que previene la navegación y lanza un error si se establece como parámetro.

abortNavigation solo se puede usar dentro de un manejador de middleware de ruta.

Tipo

abortNavigation(err?: Error | string): false

Parámetros

err

  • Tipo: Error | string

    Error opcional que será lanzado por abortNavigation.

Ejemplos

El siguiente ejemplo muestra cómo puedes usar abortNavigation en un middleware de ruta para prevenir el acceso no autorizado a una ruta:

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 una Cadena

Puedes pasar el error como una cadena:

middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
  const user = useState('user')

  if (!user.value.isAuthorized) {
    return abortNavigation('Permisos insuficientes.')
  }
})

err como un Objeto de Error

Puedes pasar el error como un objeto Error, por ejemplo, capturado por el bloque catch:

middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
  try {
    /* código que podría lanzar un error */
  } catch (err) {
    return abortNavigation(err)
  }
})