Kro*_*ron 1 html event-listener typescript
基本上,在运行时addEventListener,我无法从我正在创建的函数外部访问任何保存的变量。
在下面的代码中我总是收到错误Property 'xAxisLabel' does not exist on type 'HTMLElement'.
xAxisLabel:string = 'xAxis';
xAxisField:HTMLElement;
filterChanged(element: HTMLElement) {
element.addEventListener("change", function(){
this.xAxisLabel = 'Countries';
});
}
ngOnInit() {
this.xAxisField=document.getElementById('xAxisField');
this.filterChanged(this.xAxisField);
}
Run Code Online (Sandbox Code Playgroud)
我确信这是一个相当简单的解决方案,但我无法在网上找到它。任何帮助,将不胜感激。
小智 6
这是由于“this”关键字绑定造成的。您需要更改代码以使用箭头函数,因此:
filterChanged(element: HTMLElement) {
element.addEventListener("change", () => {
this.xAxisLabel = 'Countries';
});
}
Run Code Online (Sandbox Code Playgroud)
现在 this.xAxisLabel 指的是正确的值
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |