Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

204
Vistas
Vue 3: ¿Cómo agregar un componente mediante programación?

Sé que hay un montón de preguntas similares a esta, pero por lo que he visto, no parecen funcionar. Vengo de un entorno de reacción y estoy explorando Vue ahora, así que me disculpo si mis expectativas son incorrectas.

Mi ejemplo se puede definir simplemente como:

 <template> <div class="test" @click="passedFunction">Click me</div> </template> <script> export default { name: 'TestComponent', props: { passedFunction: { type: Function, default: () => {}, } } } </script> <style scoped> .test { background-color: blue; } </style>

Me gustaría poder hacer simplemente:

 import TestComponent from 'TestComponent.vue'; ... methods: { testComponentHandler: function() { console.log('It worked!'); }, addComponent: function() { const targetContainer = document.getElementById('target-div'); const newComponent = new TestComponent({ passedFunction: this.testComponentHandler }); targetContainer.appendChild(newComponent); }, }

Casi pude hacerlo funcionar así:

 const testComponentElement = defineCustomElement(TestComponent); customElements.define('test-component', testComponentElement); const newTestComponent = new testComponentElement({ passedFunction: this.testComponentHandler, }); target.appendNode(newTestComponent);

Esto agrega el elemento, pero está dentro de una etiqueta (según lo definido por los nuevos elementos personalizados) y está dentro de un '#shadow-root', lo que parece significar que el componente CSS no funciona en absoluto. Además, no puedo acceder a ningún elemento desde dentro de shadow-root y no puedo acceder a elementos dentro de shadow-root desde fuera de él, es como si solo existiera el elemento externo.

Siento que me falta algo... ¿algún aporte?

Editar: parte agregada sobre no poder acceder dentro/fuera de shadow-root.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda