2017-12-30 48 views
1

내 구성 요소에는 클라이언트를 선택하면 해고되는 foreach 루프가 있습니다. 이 루프 안에서 동일한 컴포넌트에서 함수를 호출해야합니다.foreach에있는 각도 함수 호출

이렇게하려면 this.functionName()을 사용하여 함수를 호출해야합니다. 그러나 이것은 'this'가 더 이상 구성 요소 자체가 아니기 때문에 분명히 foreach 루프 내에서 작동하지 않습니다.

누구에게도 해결책이 있습니까?

this.clientService.selectedClient.forEach(function(client) { 
    this.getIntake(); // not working 
}); 

답변

2

사용 화살표 기능

this.clientService.selectedClient.forEach((client) => { 
    this.getIntake(); // not working 
}); 

그렇지 않으면 this 로컬 클래스 인스턴스

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

+0

이러한 간단한 솔루션을 가리하지 않습니다! 고맙습니다. –

+0

또한 구성 요소를 함수 범위로 전달할 수도 있습니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions (이 부분의 어휘 참조) – lbueker

+2

'.bind (this) '도 역시 – brk