Para los que no entiendan de donde sale la propiedad comments
, este realmente es parte del objeto data() que forma ser parte de lo que obtenemos con el options asyncData()
, realmente este options devuelve un objeto lo que pasa es que es confuso porque el return dice article
y destructurado es { article, comments }
, el código pudo estar escrito así:
asyncData({ params, $http }) {
const { slug } = params;
const data = $http.$get(
`.../.netlify/functions/article?slug=${slug}`,
);
return data;
},
.
Es decir que como siempre devuelve un objeto, entonces el data será destructruado en { article, comments }
y podemos acceder a ellos con el this.
.
Es lo mismo que el código esté escrito de esta manera:
async asyncData({ params, $http }) {
const { slug } = params;
const data = await $http.$get(
`.../.netlify/functions/article?slug=${slug}`,
);
const { article, comments } = data;
return { article, comments };
},
.
Claro, en este caso debe ser async
aunque ya pordefecto lo sea ya que internamente queremos destructurar los datos y retornar lo que realmente queremos.
.
Referencias:
data-fetching/#async-data
directory-structure/pages#asyncdata
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?