Tengo una biblioteca personalizada creada en Stencil que necesito integrar con Vue, y esta biblioteca se basa en la etiqueta <template /> del navegador.
Por ejemplo, necesito representar el siguiente código en el dom:
<my-custom-list> <template> <my-custom-title></my-custom-title> <my-custom-description></my-custom-description> </template> </my-custom-list> my-custom-list obtendrá lo que esté dentro de la plantilla y lo usará para cada uno de los elementos de la lista.
Logré que funcionara usando la directiva v-html , por ejemplo:
<my-custom-list v-html="<template><my-custom-title></my-custom-title><my-custom-description></my-custom-description></template>"> </my-custom-list>Sin embargo, también me gustaría poder usar componentes de Vue dentro de esta etiqueta de plantilla, como:
<my-custom-list> <template> <my-custom-title></my-custom-title> <my-custom-description></my-custom-description> <custom-vue-component></custom-vue-component> </template> </my-custom-list> Algunas respuestas antiguas en línea sugieren usar la directiva is para poder generar la etiqueta de plantilla, como <div is="template"> pero eso ha quedado obsoleto.
Ni siquiera estoy seguro de si esto es posible, pero cualquier idea sería muy apreciada.
Puede usar la directiva v-pre para omitir la compilación de partes de sus componentes.
<my-custom-list v-pre> <template> <my-custom-title></my-custom-title> <my-custom-description></my-custom-description> <custom-vue-component></custom-vue-component> </template> </my-custom-list>