Nuestro proyecto utiliza componentes basados en clases. Tengo un getter para obtener el ancho interno de la ventana, pero el valor solo se establece una vez, no se actualiza si cambio el ancho de la ventana.
get viewPortWidth() { if (process.client) { if (window.innerWidth !== undefined && window.innerHeight !== undefined) { return window.innerWidth; } else { return document.documentElement.clientWidth; } } return false; } Si escribo el valor en el html: {{viewPortWidth}} no cambia. El valor es el mismo también en vue devtools. ¿No se supone que los captadores funcionan como propiedades calculadas? ¿Cómo puedo llegar a actualizar sin problemas?
Las propiedades calculadas de vue se almacenan en caché en función de sus dependencias reactivas. window.innerWidth no es una dependencia reactiva.
puede rastrear el evento de cambio de tamaño de ventana agregando un detector de eventos en su enlace de ciclo de vida "creado" como este:
created(){window.addEventListener('resize', (e)=>{console.log(e)})}