javascript - Angular 2 : How do you access component variables within an event (scope issue)

标签 javascript angular typescript

我的组件上有一个点击事件,它需要从组件本身访问私有(private)变量。然而,我似乎遇到了一个范围问题:关键字 this 不再指组件的范围,而是指事件的范围。帮助!

onclick(event){
  for(var i = 0; i < this.arr.length; i++) { ... }
}

在上面的例子中,this.arr是未定义的,因为它不属于事件作用域。

如何从这里访问组件范围?

最佳答案

添加 .bind(this) 来修复 this

element.addEventListener("click", this.onclick.bind(this), false);

关于javascript - Angular 2 : How do you access component variables within an event (scope issue),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39371840/

相关文章:

javascript - Angular 4 : abort all pending $http requests on route change

typescript - 类属性中的非空断言

javascript - Typescript 和 JavaScript 中的 server.listen 回调函数

javascript - 基于数组值切换 Angular 组件 CSS 类

javascript - JQuery 缓存选择器——我是不是误会了?

angular - 使用异步管道依次执行 Observable

javascript - 当设置 String.locale 的值时,分配给原语的值将在 PhpStorm 中丢失

angular - 在 fromEvent resize observable 中添加初始值

javascript - React 中的初始状态与 Redux 不工作

javascript - Vis.js 中垂直滚动的解决方法