Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
Vue js: Instancia múltiple VS Instancia única pero plantilla de HTML, ¿cuál es la mejor práctica para las actuaciones?

He visto algunas preguntas en stackoverflow sobre ese tema, pero en realidad nunca mencionaron actuaciones.

Digamos que tengo una página HTML con una lista de Tienda, esta lista HTML es generada por el servidor en la página HTML.

Me gustaría que cada "bloque" de Shop HTML muestre un componente Vue JS <Calendar />

html:

 <div class="list"> <div class="shop"> <div> <div> <div> <div> <div class="component-placeholder" data-shop-id="x"></div> .... </div> <div class="shop"> <div> <div> <div> <div> <div class="component-placeholder" data-shop-id="x"></div> .... </div> ... </div>

Para JS hay 2 posibilidades.

Opción 1 :

 document.querySelectorAll('.component-placeholder').forEach((item) => { const shopId = item.getAttribute('data-shop-id'); new Vue({ render: (h) => h(Calendar, { props: { shopId, }, }), }).$mount(item); });

Opcion 2 :

 const elem = document.querySelector('.list'); new Vue({ el: elem, components: { Calendar }, }); // for this I would replace the component-placeholder with <Calendar shop-id="x" /> in the HTML

Mi pregunta es, ¿cuál es la mejor práctica cuando se centra en el rendimiento?

Si la lista tiene 30 Tiendas, la Option 1 crearía 30 instancias de Vue viviendo juntas, pero la Option 2 también necesitaría agregar y crear todos los elementos HTML dentro de su shadow DOM cuando el componente se carga por primera vez, ¿no?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!