Как получить идентификатор пользователя и вернуть его сообщения со своими комментариями n angular 6 - PullRequest
0 голосов
/ 20 октября 2018

Как получить всех пользователей от их идентификатора пользователя и повторить его, и когда я щелкаю по конкретному пользователю, я получаю все его сообщения и комментарии?

вы можете получить сообщения из этого API: https://jsonplaceholder.typicode.com/posts

и их комментарии из этого API: https://jsonplaceholder.typicode.com/comments

Вот мой тест stackblitz проект: https://stackblitz.com/edit/angular-g5fqzi

getUserPosts(userId: number) {
  this.http.get(`${this._postsURL}`)

  //.pipe(filter(data => userId === userId))
  //this.http.get(`${this._postsURL}/${userId}`)
    .subscribe(data => {
     //this.UserPosts  = data;
      let resources = data[userId];
      this.UserPosts = resources;
      console.log(this.UserPosts);
    })

1 Ответ

0 голосов
/ 20 октября 2018

Qusay, если я правильно понял, вы пытаетесь получить только сообщения определенного userId.

Если вы делаете новый HTTP-запрос, вы можете передать userId в запросе, чтобы получить только те сообщения, которые вы хотитенапример:

this.http.get(`${this._postsURL}?userId=${userId}`)
  .subscribe(data => {
    // do stuff
  });

Но если у вас уже есть все сообщения в памяти (из предыдущего запроса) и вы просто хотите выбрать сообщения определенного пользователя, вы можете сделать это:

const userPosts = this._postsArray.filter(post => post.userId == userId);

или если всегда есть только один результат, вы можете использовать метод find вместо filter, просто имейте в виду, что find возвращает значение, а filter возвращает новый массив со значением.

const userPosts = this._postsArray.find(post => post.userId == userId);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...