2017-11-13 9 views
0

저는 Angular를 처음 접했습니다. 이 link에서 튜토리얼을 따르고, 나는 그 튜토리얼에 포함되지 않은 것을 추가/추가하려고 시도했다. 에 providers :[EmployeeService] 줄을 추가하고 @component 안에 empployee.component.ts 줄을 추가하면 TypeError: Cannot read property 'push' of undefined이라는 오류가 반환됩니다. 따라서 일부 구성 요소에 providers :[EmployeeService]을 추가하는 것은 불필요합니다. 이 link에서 의존성 주입에 대해 읽었지만 실제로 알고 싶은 것을 얻지는 못합니다. 그렇다면 누구나 어떻게/언제/어디서/제공자를 배치하고 그 오류가 발생하는지 간단한 설명을 줄 수 있습니까?Angular Providers는 어떤 기능을 수행합니까?

대단히 감사합니다.

+2

귀하가 링크 한 angular.io 페이지에서 자세히 설명되어 있습니다. 다시 읽으십시오. https://angular.io/guide/dependency-injection#when-to-use-ngmodule-versus-an-application-component –

답변

1

providers 배열은 인스턴스화해야 할 서비스의 각도를 나타냅니다. 당신은 두 장소에 그것을 정의 할 수 있습니다 :

  1. 구성 요소
  2. 모듈

당신이 구성 요소의 공급자를 사용하면 서비스가 모든 그것의 아이들에게 사용할 수 있습니다.

모듈에서 사용하면 해당 모듈의 모든 파이프, 지시문, 구성 요소 및 서비스에 대해 서비스를 사용할 수 있습니다.

그러나 원하는 경우 두 가지 모두에서 정의 할 수 있습니다.이 경우 Angular는 동일한 서비스의 두 인스턴스를 만듭니다.

처음에는 모듈 수준에서 서비스를 제공하십시오.