[英]Angular2 / Ionic2 : Execute $http.get within Listener
我试图获取滚动数据并填充“ Article [] ”数组。
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
容器吗?
是的,这是一个范围问题。 您应该使用Arrow函数保留此上下文
ionViewDidLoad() {
this.content.addScrollListener(() => this.onPageScroll() );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.