@anton_trofimov95

Как вывести результаты двух запросов в одном списке?

Есть два json - https://jsonplaceholder.typicode.com/posts и https://jsonplaceholder.typicode.com/users
Макет - 5e42c9be118c3740433815.png
Получается, что имена берем со второго запроса, а заголовок и содержание с первого. И выводим все в одном элементе списка. Как так это все вывести? Склеивал методом concat два массива полученных, но оно просто добавляется в конец списка новые элементы. Там еще и 3 запрос будет - комментарии, но мне бы пока с двумя справиться.
  • Вопрос задан
  • 327 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
Сделать вычисляемое свойство - массив, элементы которого будут содержать ссылки на данные исходных массивов:

computed: {
  fullData() {
    return this.posts.map(post => ({
      post,
      user: this.users.find(user => user.id === post.userId) ?? {},
    }));
  },
},

<div v-for="n in fullData">
  <div>{{ n.post.title }}</div>
  <div>{{ n.user.name }}</div>
  <div>{{ n.post.body }}</div>
</div>
Ответ написан
Комментировать
Как то так
const news = posts.map(p => ({ ...p, user: users.find(u => p.userId === u.id) }))

где posts - это https://jsonplaceholder.typicode.com/posts, а users - https://jsonplaceholder.typicode.com/users
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы