Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
No se pueden mostrar los datos recibidos de la API en Vuejs3

Soy nuevo con la API de composición 3 e intento llamar a una API y mostrar datos en la página

Mi código es así:

 let items: IChannel[] = reactive([]); async function get() { try { const res = await channelService.get() console.log(res) items = res.data; } catch (err) { console.log(err) Swal.fire("error", "error", "error"); } }

y obtiene datos de la API con éxito pero no se muestra en la plantilla:

 <template> {{ items }} </template>

¿Dónde está el problema?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Está sobrescribiendo items (una instancia reactive ) con los datos sin procesar, lo que elimina su reactividad:

 let items: IChannel[] = reactive([]); ⋮ items = res.data; ❌ overwrites `reactive`

Opción 1: Usar objeto en reactive

Use un objeto reactive que reciba los datos sin procesar:

 👇 const items = reactive({ items: [] as IChannel[] }); async function get() { try { const res = await channelService.get() 👇 items.items = res.data; } catch (err) { //... } }

demostración 1

Opción 2: usar una ref

Use un ref en lugar de reactive , asegurándose de establecer su propiedad de value con los datos sin procesar recién recibidos:

 👇 const items = ref([] as IChannel[]) async function get() { try { const res = await channelService.get() 👇 items.value = res.data; } catch (err) { //... } }

demostración 2

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda