基本上,我正在尝试在Angular应用程序中使用此软件包pullToRefresh。
代码如下
const ptr = pullToRefresh.init({
mainElement: '.dashboard-container',
onRefresh() {
console.log('pulled');
// this._service.action();
}
});
由于this
现在引用了this
回调函数,因此显然onRefresh()
无法正常工作。所以我的问题是如何正确绑定this
以便在该回调函数onRefresh
现在我试图将回调更改为箭头函数,如
onRefresh = () => {...
但是我的tslint说'=' can only be used in an object literal property inside a destructuring assignment.
任何帮助将不胜感激
答案 0 :(得分:1)
为此,您可以将this
绑定到回调函数。
pullToRefresh.init({
mainElement: '.dashboard-container',
onRefresh() {
console.log('pulled');
// this._service.action();
}.bind(this)
})
或者,您可以尝试以下操作:
const that = this;
const ptr = pullToRefresh.init({
mainElement: '.dashboard-container',
onRefresh() {
console.log('pulled');
that.service.action();
}
});
答案 1 :(得分:1)
您可以尝试使用箭头函数,这样onRefresh
不会创建它自己的作用域,如下所示:
const ptr = pullToRefresh.init({
mainElement: '.dashboard-container',
onRefresh: () => {
console.log('pulled');
// this._service.action();
}
});
详细了解箭头功能here。