Angular 2:如何访问事件中的组件变量(范围问题)

wes*_*and 4 javascript typescript angular

我的组件上有一个click事件,需要从组件本身访问私有变量.但是我似乎遇到了一个范围问题:关键字this不再引用组件的范围,而是引用事件的范围.救命!

onclick(event){
  for(var i = 0; i < this.arr.length; i++) { ... }
}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,this.arr未定义,因为它不属于事件范围.

如何从此处访问组件范围?

Gün*_*uer 7

添加.bind(this)修复this

element.addEventListener("click", this.onclick.bind(this), false);
Run Code Online (Sandbox Code Playgroud)