Com*_*ode 4 typescript lodash angular2-directives angular2-template angular
我有以下代码调用lodash去抖功能:
@HostListener("window:scroll", [])
onWindowScroll() {
if (myBoolean)
_.debounce(this.onScrollDown(), 1500, false);
}
}
private onScrollDown() {
console.log("onScrollDown")
}
Run Code Online (Sandbox Code Playgroud)
但我在我的控制台中收到此错误:
Argument of type 'void' is not assignable to parameter of type 'Function'.
Run Code Online (Sandbox Code Playgroud)
以下是浏览器:
TypeError: Expected a function
at Function.debounce
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我正在使用打字稿
我不熟悉lodash,但我认为你想要的是:
private debouncedOnScroll = _.debounce(() => this.onScrollDown(), 1500, {});
@HostListener("window:scroll", [])
onWindowScroll() {
this.debouncedOnScroll();
}
private onScrollDown() {
console.log("onScrollDown")
}
Run Code Online (Sandbox Code Playgroud)
感谢JB Nizet,我可以解决我的需求,这是我的方法:
private projectsLoad(myParameter): void {
// function code here...
};
Run Code Online (Sandbox Code Playgroud)
private debounceProjectsLoad = _.debounce(
(myParameter) => this.projectsLoad(myParameter),
1500,
true
);
Run Code Online (Sandbox Code Playgroud)
public loadProjectsGroup(myParameter: string): void {
this.debounceProjectsLoad(myParameter);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3747 次 |
| 最近记录: |