Tengo mi script JavaScript inyectado en un sitio web existente y ejecutándolo encima.
El sitio web es un SPA construido con Vue.js.
Me gustaría detectar cambios de URL (rutas) en este SPA y llamar a mi propia función, pasando la nueva URL como parámetro.
Intenté escuchar los siguientes eventos (basados en this y this ):
window.addEventListener("hashchange", myFunc); window.addEventListener("popstate", myFunc); pero myFunc no se activa en ningún momento.
También traté de hacer esto con React (usando el enrutador de reacción) pero no obtuve ningún evento de actualización de ruta.
¿Tengo que usar Vue para lograr eso?
En vue puede usar la propiedad del observador para observar cambios en cualquier variable y manejarlos. en su aplicación, incluida la ruta de ruta y los parámetros de ruta.
watch:{ $route: { handler: function(newRouteValue){ // put your code here }, deep: true } }Lo profundo en el reloj Vue es observar cambios profundos en los objetos. Pero puedes quitarlo, si no es necesario.