Me gustaría saber cuál es la forma de cargar un nuevo componente dentro de la instancia de la aplicación vue3. Hasta donde sé, solo es posible usar componentes predefinidos durante createApp() o mediante algún truco interno, incluso después de la inicialización, pero nunca en el tiempo de ejecución después del uso.
El problema es que no puedo encontrar una manera de obtener el componente en tiempo de ejecución, a través de una llamada ajax, por lo que en lugar de arrojar "Error al resolver el componente: mi componente", verificaría el servidor e importaría el componente.
Sí, conozco defineAsyncComponent y vue3-sfc-loader, pero ninguno de ellos parece manejar componentes indefinidos. Todos parecen requerir la definición de todos los componentes que usaremos. ¿O no?
var vapp = Vue.createApp({ template: '<mycomponent></mycomponent>', components: {} /** not defined at runtime **/, _importUndefinedComponent: function(tagname) { $.get('/components/' + tagname + '.js'); } });Por ahora, creo que es posible editar el funcionamiento interno de Vue, ya que parece que vue ya usa promesas para cargar componentes asíncronos...
Un caso de uso para componentes dinámicos. Tengo un sistema crud con cientos de componentes. Quiero hacer prototipos rápidos. Entonces, de esta manera, todo lo que tengo que hacer es cargar el componente en la carpeta correcta y usarlo. Sin pasos de construcción y sin cosas sofisticadas. Todos los componentes están utilizando opciones api. Entonces, básicamente, es solo un Objeto que evaluaré.