Contexto
Estoy en una situación en la que quiero volver a renderizar HTML existente usando javascript. El lado del servidor no está bajo mi control, no puedo aplicar ningún cambio al documento HTML en el que estoy trabajando, tengo que trabajar completamente del lado del cliente.
Me gustaría aprovechar la funcionalidad de vue, usando petite-vue . Para hacer eso, planeo manipular el DOM y agregar las directivas vue a los nodos DOM en un script de preparación. Después de que termine ese script, quiero montar la aplicación vue .
Pregunta
Un problema con este enfoque es que algunas directivas vue tienen caracteres ilegales. Por ejemplo, en un elemento determinado, quiero establecer un atributo Attr("@vue:mounted", "mounted()") . Esto genera una DOMException , porque @vue:mounted no es un nombre XML válido (debido a la @ inicial), que es un requisito para los nombres de atributos DOM.
¿Cómo puedo configurar este atributo para que vue lo acepte? Creo que vue de alguna manera evita el carácter ilegal, ya que de alguna manera logra leer el atributo. Pero no estoy familiarizado con las partes internas de vue . Tal vez también haya una manera de lograr lo que quiero sin conocer el funcionamiento interno de vue , pero tampoco sé cómo hacerlo.
En Vue, el carácter @ (en las plantillas) es solo una abreviatura de v-on: . Y como petit-vue debería ser compatible en este sentido, puede intentar usar Attr("v-on:vue:mounted", "mounted()") en su lugar...