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

227
Vistas
Pase accesorios dinámicos al componente secundario en Vue.js

Hay dos componentes, principal y modal de actualización en mi aplicación web. Quiero que el componente modal se muestre inmediatamente cuando ingrese a la página principal. Entonces, cuando se monta main.vue, showModal se establece como verdadero. Sin embargo, el modal no aparece cuando la web entra en la página principal. Creo que showModal se vuelve verdadero y pasa al componente modal. Cuando uso vue devtool, muestra que popModal es falso. Realmente me confunde.

¿Debo cambiar el ciclo de vida que establece el valor real o alguna sugerencia?

¡Gracias!

Principal.vue

 <template> <modal :isShow="showModal"></modal> ... </template> <script> export default { data () { return { showModal: false } } mounted() { //do something this.showModal = true } } <script>

Modal.vue

 <template> <modal v-if="popModal" v-model="popModal"> <p>xxxxxx</p> <button @click="fn()">Click</button> </modal> </template> <script> export default { props: ['isShow'], data () { return { popModal: this.isShow//supposed to be true } } methods: { fn() { this.popModal = false } } } <script>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema es que los datos se inicializan una vez cuando se crea el componente. Cuando los accesorios isShow cambian, en los datos permanece el valor anterior. Necesitas agregar un observador para actualizar los datos

 watch: { isShow(newVal, oldVal) { // newVal contains the updated value // oldVal contains the previous value this.popModal = newVal; } }

O puede hacer que los datos se inicialicen después de que el valor haya cambiado:

 // Main.vue <modal v-if="showModal" :isShow="showModal"></modal> // Modal.vue <modal v-model="popModal">
about 4 years ago · Juan Pablo Isaza 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