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

226
Views
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 answers
Answer question

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 Report
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!