Бесконечный скроллинг в real time поисковике (angular)
Здравствуйте, пытаюсь сделать бесконечный скролл, работаю с апишкой (https://developers.giphy.com/docs/), вывожу гифкки по запросу, установил директиву https://www.npmjs.com/package/ngx-infinite-scroll но чет все безуспешно, как я понял мне как только скролл окажется на новом месте, необходимо менять offset в строке запроса, вот код, может знает где я косячу, offset меняется, но запрос с offset-ом новым не отправляет??
Компонент: export class AppComponent { results: Object; searchTerm$ = new Subject<string>(); collection = []; offset = 0; constructor(private gifService: GifService) { this.appendItems(this.offset); } addItems(endIndex) { this.gifService.search(this.searchTerm$, endIndex) .subscribe(data => { this.collection.push(data); }); } appendItems(endIndex) { this.addItems(endIndex); } onScrollDown(ev) { this.offset += 20; this.appendItems(this.offset); } } Сервис: export class GifService { constructor(private http: HttpClient) { } search(searchTerms: Observable<string>, offset) { return searchTerms.debounceTime(500) .distinctUntilChanged() .switchMap(searchTerm => this.searchEntries(searchTerm, offset)); } searchEntries(searchTerm, offset) { return this.http .get('http://api.giphy.com/v1/gifs/search?api_key=dc6zaTOxFJmzC&q=' + searchTerm + '&offset=' + offset); } } |
ar4ipers,
Кажется, что не хватает инжекта сервиса ChangeDetectorRef и вызова метода cd.markForCheck() внутри subscribe. Но без запускаемого примера не разобраться. |
Спасибо, понял куда копать)
|
Часовой пояс GMT +3, время: 21:22. |