【发布时间】:2020-05-17 12:13:23
【问题描述】:
我在 Angular 中遇到了一个问题,我的方法因被称为回调函数而失去了作用域。谁能解释为什么this 更改为undefined?
@Component({...})
export class SomeClass {
public status = 'any';
public filter_account_accesses() {
console.log( this.status );
let account_accesses = [...];
return account_accesses.filter( this.status_filter )
}
private status_filter( account_access ): boolean {
console.log( typeof this );
// this is undefined!
return true;
}
}
PS:我已经知道我可以通过传递 this 作为参数来解决这个问题。我想知道为什么会发生范围变化。以及可选的如何防止它。
【问题讨论】:
标签: javascript angular typescript filter