当我使用httpClient获取一个对象数组时,我可以访问数组中每个对象的属性,但我不能访问方法。我不明白为什么,以及如何做到这一点。
this.interventionService.getInterventions().subscribe(interventions =>
{
interventions.forEach(it => {
console.log(it.InterventionId); // property can be accessed
console.log(it.myMethod()); // myMethod cannnot be accessed
// I get an error: 'myMethod is not a function'
});
});
但是,如果我创建一个新对象,我可以访问以下方法:
var it = new Intervention();
it.myMethod(); // no error
多谢帮忙
您需要使用bind
为方法设置正确的this
上下文。
this.interventionService.getInterventions().subscribe(interventions => {
interventions.forEach(it => {
it.myMethod.bind(it)();
});
});