Saltar al contenido

Vuejs: Evento en cambio de ruta

Es fundamental comprender el código bien antes de utilizarlo a tu trabajo si tquieres aportar algo puedes dejarlo en la sección de comentarios.

Solución:

Configure un observador en el $route en tu componente así:

watch:
    $route (to, from)
        this.show = false;
    
 

Esto observa los cambios de ruta y cuando se cambia, establece show a false

Si está utilizando v2.2.0, hay una opción más disponible para detectar cambios en $routes.

Para reaccionar a los cambios de parámetros en el mismo componente, puede observar el objeto $route:

const User = 
  template: '...',
  watch: 
    '$route' (to, from) 
      // react to route changes...
    
  

O use el protector beforeRouteUpdate introducido en 2.2:

const User = 
  template: '...',
  beforeRouteUpdate (to, from, next) 
    // react to route changes...
    // don't forget to call next()
  

Referencia: https://router.vuejs.org/en/essentials/dynamic-matching.html

En caso de que alguien esté buscando cómo hacerlo en mecanografiado, aquí está la solución.

   @Watch('$route',  immediate: true, deep: true )
   onUrlChange(newVal: Route) 
      // Some action
    

Y sí, como menciona @Coops a continuación, no olvide incluir

import  Watch  from 'vue-property-decorator';

Editar:
Alcalyn hizo un muy buen punto al usar el tipo Ruta en lugar de usar cualquier

import  Watch  from 'vue-property-decorator';    
import  Route  from 'vue-router';

Al final de la web puedes encontrar las críticas de otros sys admins, tú de igual manera tienes la opción de mostrar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *