我正在尝试在滚动上获取数据并填充“文章[] ”数组。
httpLoadArticles() {
this.httpWSGetInit().subscribe(
articles => this.articles = articles,
err => {
console.log(err);
},
() => console.log('Searching complete')
}
当前的功能。
httpWSGetInit() : Observable<Article []> {
return this.http.get(R.WEBSITE_URL_WS + this.articlesPagination)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
效果很好。
但http.get
方法永远不会调用addScrollListener
方法。
@ViewChild(Content) content: Content;
ionViewDidLoad() {
this.content.addScrollListener(this.onPageScroll);
}
onPageScroll(event) {
this.httpLoadArticles()
}
我尝试将GET
设置为synchronous
但似乎没有改变任何内容。这是scope
问题吗?像addScrollListener
是一个纯JS方法,不能附加到angular2
容器?
答案 0 :(得分:3)
是的,这是一个范围问题。您应该使用箭头功能来保留此上下文
ionViewDidLoad() {
this.content.addScrollListener(() => this.onPageScroll() );
}