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

119
Vistas
componente reactivo de Vue que no se actualiza con el cambio de datos

Soy nuevo en Vue y trato de mostrar una lista de "notas" que se actualizan cuando se presiona un botón (acabo de codificar el valor para agregar por ahora). El problema es que después de agregar un nuevo elemento a la matriz, esto no se actualiza en la interfaz de usuario. Estoy usando Vue3 y la: clave que estoy usando es única. Otros "widgets" que hice funcionaron como se esperaba, pero obtuvieron datos de una respuesta de API. ¿Está relacionado tal vez con el aspecto asíncrono/en espera de tratar con las respuestas de la API en comparación con simplemente agregar/empujar a la matriz de datos?

 <template> <Widget class="notes" :style="style" @load="showNotes()"> <h3>Notes</h3> <p v-for="item in data" :key="item.id">{{ item.note }}</p> <button @click="addNote()">Add</button> </Widget> </template> <script> import Widget from "./Widget.vue"; export default { name: "Notes", props: { widgetWidth: Number, }, computed: { style() { return "max-width: " + this.widgetWidth + "px"; }, }, data() { return { notes: undefined, }; }, methods: { addNote() { var x; if (!this.data) { this.data = []; x = 0; } else { x = this.data.length; console.log(x); } this.data.push({ id: x, note: "another" }); console.log(this.data); }, showNotes() { this.data = [{ id: 0, note: "init" }]; }, }, beforeMount() { this.showNotes(); }, components: { Widget }, }; </script> <style scoped> .notes { min-width: 100px; word-wrap: break-word; display: flex; flex-direction: column; justify-content: space-between; } .notes > * { flex-grow: 1; } </style>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Cree una propiedad calculada llamada notas que devuelva la propiedad de notas en su objeto de datos. En su artículo v-for use en notas. Cuando hace clic en el botón, las notas en su objeto de datos se actualizan. La propiedad computada detecta el cambio y actualiza la interfaz de usuario

about 4 years ago · Juan Pablo Isaza Denunciar

0

Eso sucede porque modifica la propiedad data y no hay propiedad data , es propiedad de notes . Además, no necesita el evento @load o el evento beforeMount para inicializar la propiedad de notas.

Este ejemplo de trabajo

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