бесконечный свиток, не сохраняющий предыдущие данные - PullRequest
0 голосов
/ 29 марта 2019

Проблема, с которой я сталкиваюсь, заключается в том, что когда моя полоса прокрутки достигает нижней части, она выполняет вызов для следующих 20 записей в наборе результатов, однако она заменяет предыдущие 20 записей новыми 20. Я пропустил что-то с бесконечной прокруткой? Вот моя логика:

// top-rated-movies.component.ts

// ... ... ...
import {TopRatedMoviesService} from '../../services/top-rated-movies.service';
//... ... ...

export class TopRatedMoviesComponent implements OnInit {
  topRatedMovies: Object;
  pageNum = 1;

  constructor(private _topMoviesService: TopRatedMoviesService) { }

  ngOnInit(): void {
    this._topMoviesService.getPopularMovies().subscribe(data => {
      this.topRatedMovies = data;
    });
  }

  onScrollDown() {
    this.pageNum++;
    this._topMoviesService.getPopularMovies(this.pageNum)
      .subscribe(data => this.topRatedMovies = data);
  }

}

Ответы [ 2 ]

1 голос
/ 29 марта 2019

Создайте массив, отправьте данные, поступающие из ответа на этот массив, назначьте этот массив компоненту представления, надеясь на его работу.

0 голосов
/ 29 марта 2019

вы можете попробовать вот так

   // top-rated-movies.component.ts
   // ... ... ...
   import {TopRatedMoviesService} from '../../services/top-rated-movies.service';
  //... ... ...
  export class TopRatedMoviesComponent implements OnInit {
  topRatedMovies: any[] = [];
  pageNum = 1;
  constructor(private _topMoviesService: TopRatedMoviesService) { }

  ngOnInit(): void {
     this._topMoviesService.getPopularMovies().subscribe(data => {
     this.topRatedMovies = data;
  });
  }

  onScrollDown() {
   this.pageNum++;
   this._topMoviesService.getPopularMovies(this.pageNum)
    .subscribe(data => {
     this.topRatedMovies.push(data); // problem with you code is you are replace your old data with your new data so to solve this we create a array and push the data into that array so your old data remains the same  
     });
   }
  }

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

...