【发布时间】:2017-02-14 17:24:29
【问题描述】:
我正在使用带有 rxjs 的 Angular 来观察界面上的用户事件。但是,我在将参数传递给箭头函数中的方法时遇到了这个非常简单的问题。问题来了:
这不起作用:搜索项未传递给 this.searchFacilities
ngOnInit() {
this.searchTerm$.subscribe(searchterm => this.searchFacilities);/**Not working here**/
}
searchFacilities(term: string){
console.log(term);
this.facilityservice.searchFacilities(term)
.subscribe(results => this.facilityList = results);
}
但这有效:
this.searchTerm$.subscribe(searchterm => { this.searchFacilities(searchterm); })
显然,我还有其他非常轻松的解决方案,但我真的很想了解为什么我的第一种方法不起作用。谢谢!
【问题讨论】:
-
searchterm => this.searchFacilities==function(searchterm) { return this.searchFacilities }为什么要调用this.searchFacilities(searchterm)? O.o -
只做
this.searchTerm$.subscribe(this.searchFacilities);你在引用时把箭头放在外面! -
我真的怀疑最后一个 sn-p 是否有效
-
@Bergi - 你说得对,我正在订阅另一个主题,它也调用了这个方法......我在测试中搞混了。谢谢!
-
@adeneo - 这实际上更干净,一旦我停下来想一想,它就很有意义。+1
标签: javascript ecmascript-6 rxjs arrow-functions