Estoy usando una directiva personalizada que oculta o muestra un componente. Se usa una directiva personalizada porque la visibilidad del componente se basa en una lógica que es difícil de incluir en una condición v-show (y en realidad hay muchos componentes, por lo que es más fácil usar esta directiva personalizada).
El problema es que, dado que la directiva personalizada establece directamente el style.visibility y el style.display del elemento, choca un poco con el propio v-show de Vue (al menos esa es mi explicación de por qué esto a veces falla). Mi teoría es que el elemento se vuelve a representar en parte de la representación DOM virtual y, por lo tanto, se anulan las modificaciones de estilo directo en el elemento.
Dado que beforeMount permite el acceso al vnode ( beforeMount(element, binding, vnode) ), debería ser posible modificar directamente el vnode, por lo que cualquier lógica existente en v-show podría fusionarse con la lógica de la directiva personalizada (fusionada en v-show ). ¿Es eso posible o recomendable? La documentación de Vue es un poco escasa en esa área.
¿Alguien ha probado esto antes o tiene alguna idea que pueda ayudar?