• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

182
Vistas
Cómo deshabilitar el botón de avance y retroceso cuando no hay más rutas en el historial en vue

Hola, mi aplicación se ejecuta como un complemento dentro de otra aplicación, por lo que tengo que manejar la navegación forward,backward manualmente.

Mi pregunta: quiero deshabilitar el botón de forward y backward con la clase .disabled cuando no haya más rutas.

De cualquier manera, estoy usando el modo de historial para avanzar, estoy usando go(1) y para retroceder, estoy usando go(-1)

Estos son los pasos para ver mis puntos:

  1. haga clic en el botón Browse ++ 3 veces
  2. ahora haga clic en < 3 veces en la tercera vez debe estar deshabilitado
  3. ahora haga clic en > 3 veces en la tercera vez que debe estar deshabilitado

aquí está mi enlace de código

https://codesandbox.io/s/path-traversing-w6yy3f

over 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Quiero deshabilitar el botón de avance y retroceso con la clase .disabled cuando no haya más rutas.

Los div no se pueden deshabilitar. ya que tiene un elemento div para los clics hacia atrás y hacia adelante.

Por lo tanto, por ahora estoy eliminando el div hacia backward y hacia forward del DOM según la condición usando v-if .

Demostración de trabajo : https://codesandbox.io/s/path-traversing-forked-dq3dte

over 3 years ago · Juan Pablo Isaza Denunciar

0

Esto funciona:

https://codesandbox.io/s/path-traversing-forked-djjbeb

desafortunadamente, no hay forma de obtener la posición actual en la que se encuentra en el historial del navegador, por lo que debemos rastrearlo en alguna parte.

Sin embargo, esta solución solo funcionaría si la navegación se realiza a través de sus enlaces, no funciona si se utiliza la navegación del navegador.

EDITAR

Se solucionó el problema con los errores de la consola en opensandbox. El culpable fue el:

 created() { console.log("thiss", this.$route); },

la eliminación de console.log detiene los errores de registro.

Puede leer y rastrear el error aquí https://github.com/codesandbox/codesandbox-client/issues/2095#issuecomment-818500869

over 3 years ago · Juan Pablo Isaza Denunciar

0

Probablemente la forma más fácil de hacer esto es almacenar una variable que haga referencia al índice actual e incrementarla/disminuirla cuando navegue hacia adelante/hacia atrás.

 backward() { currentIndex--; this.$router.go(-1); }, forward() { currentIndex++; this.$router.go(1); }, browse() { const param = this.getRandomTraversingObject(); this.$router.push({ name: "traverse", params: param }); console.log(this.$router, this.$router.history.length); currentIndex++; },

Luego simplemente vincula la clase .disabled a currentIndex...

over 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda