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

129
Vistas
Vue (2.6.14) - v-para no mostrar datos con una importación de API (axios)

La idea es que estoy tratando de construir una pantalla donde las actividades se muestren con algunos filtros. Los datos provienen de una API generada por el CMS. Los filtros no se muestran en el código ya que no es relevante.

Problema Al definir manualmente los 'elementos' en la propiedad de datos, la representación de la lista v-for se muestra bien y proporciona el resultado deseado. Al extraer los datos de la API y asignarlos a elementos, v-for no muestra nada.

Mis pensamientos Creo que el v-for se ejecuta antes de que la solicitud de la API termine de colocar los datos en el valor de 'elementos'. Actualmente estoy usando la propiedad 'creada' para activar la función, también usé 'Montado ()' antes, esto tampoco funcionó.

Versiones Vue 2.6.14, Axios 0.21.1

Código Vue

 var vue = new Vue({ el: '#app', data: { items: null, }, created: function () { this.fetchData() }, methods: { fetchData: function() { axios .get('/api/activities.json') .then(response => (this.items = response.data.data)) } } })

Plantillas

 <div id="app"> <ul class="example"> <li v-for="item in items"> {{ item }} </li> </ul> </div>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su código parece estar funcionando bien. Mire a continuación, acabo de reemplazar su llamada api con una llamada api REST ficticia y está funcionando bien. Consuele los datos de response.data.data y vea si realmente está recibiendo una matriz allí.

 Vue.config.productionTip = false Vue.config.devtools = false let vue = new Vue({ el: '#app', data: { items: null, }, created() { this.fetchData() }, methods: { fetchData: function() { axios.get('https://jsonplaceholder.typicode.com/users') .then(response => { this.items = response.data })} } })
 <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <div id="app"> <ul class="example"> <li v-for="item in items"> {{ item.id }} - {{ item.name }} </li> </ul> </div> </div>

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