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

291
Vistas
Pasar accesorios dinámicamente al componente dinámico en VueJS

Tengo una vista dinámica:

 <div id="myview"> <div :is="currentComponent"></div> </div>

con una instancia de Vue asociada:

 new Vue ({ data: function () { return { currentComponent: 'myComponent', } }, }).$mount('#myview');

Esto me permite cambiar mi componente dinámicamente.

En mi caso, tengo tres componentes diferentes: myComponent , myComponent1 y myComponent2 . Y cambio entre ellos así:

 Vue.component('myComponent', { template: "<button @click=\"$parent.currentComponent = 'myComponent1'\"></button>" }

Ahora, me gustaría pasar accesorios a myComponent1 .

¿Cómo puedo pasar estos accesorios cuando cambio el tipo de componente a myComponent1 ?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para pasar accesorios dinámicamente, puede agregar la directiva v-bind a su componente dinámico y pasar un objeto que contenga los nombres y valores de sus accesorios:

Entonces su componente dinámico se vería así:

 <component :is="currentComponent" v-bind="currentProperties"></component>

Y en su instancia de Vue, currentProperties puede cambiar según el componente actual:

 data: function () { return { currentComponent: 'myComponent', } }, computed: { currentProperties: function() { if (this.currentComponent === 'myComponent') { return { foo: 'bar' } } } }

Así que ahora, cuando el componente myComponent currentComponent tendrá una propiedad foo igual a 'bar' . Y cuando no lo es, no se pasará ninguna propiedad.

over 4 years ago · Santiago Trujillo Denunciar

0

También puede prescindir de la propiedad calculada y alinear el objeto.

<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>

Se muestra en los documentos en V-Bind - https://vuejs.org/v2/api/#v-bind

over 4 years ago · Santiago Trujillo Denunciar

0

Podrías construirlo como...

 comp: { component: 'ComponentName', props: { square: true, outlined: true, dense: true }, model: 'form.bar' }
 <component :is="comp.component" v-bind="{...comp.props}" v-model="comp.model"/>

over 4 years ago · Santiago Trujillo Denunciar
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