Entonces tengo el siguiente componente:
<template> <div class="home"> <div class="container" v-if="data" > <Card v-for="result in data" :img="result.links[0]" :key="result.href"/> </div> </div> </template> <script> import Card from "../components/Card"; import axios from "axios"; export default { name: 'Home', components: {Card}, data() { return { data: null, } }, created() { axios.get('https://images-api.nasa.gov/search?q=mars').then(res => { return res.data.collection.items }).then(res => { this.data = res; }) } }Tengo un problema cuando renderizo el componente de la tarjeta porque no puedo pasar la propiedad "img", la consola muestra el error "No se pueden leer las propiedades de undefined (leyendo '0')", lo cual es extraño porque puedo ver que mi propiedad de "datos" es correcta datos de la API, pero cuando intento obtener datos de la misma API con diferentes parámetros de consulta como "https://images-api.nasa.gov/search?q=jupiter", todo funciona correctamente. Entonces, no sé si esto podría ser un problema interno de Vue o un problema de API.
Puede modificar su código un poco para asegurarse de que result.links no esté indefinido
<Card v-for="result in data" :img="getImageLink(result)" :key="result.href"/>Ahora en tus métodos,
getImageLink(result) { if (result.links) { return result.links[0]; } return null; }Esto solucionaría tu problema