나는 angular2를 배우고 때로는 종속성을 어디에 주입해야하는지 혼란 스럽다. 예를 들어 RouteParams
Angular 2 dependecy injection - 의존성 삽입 위치를 알아내는 방법
import {RouteParams} from 'angular2/router';
를 사용할 때처럼 우리는 단지 생성자 메서드에 전달하고 우리는 갈 수있다 : 우리는 같은 모듈에서 ROUTER_DIRECTIVES
를 사용하는 경우,
constructor(private _photoService: PhotoService, private _routeParams: RouteParams){
}
을하지만 'angular2/router'
import {ROUTER_DIRECTIVES} from 'angular2/router';
지시어에 전달해야합니다. 배열의 배열 :
directives: [ROUTER_DIRECTIVES]
내 궁금한 점은, 어떻게 전달해야하는지, 언제 지시어 나 공급자 배열에 의존성을 전달하는지 아니면 생성자 메서드에만 의존 할 수 있습니까?
지시어 인 경우'declarations'입니다 ('directives'가 아닙니다!). 그들이 제공자 인 경우, 제공자입니다. 'providers '에 정의되지 않은 제공자를 생성자에 전달하면 오류가 발생합니다. 그것만큼이나 간단합니다. 정말로 사용되지 않는 예제 (알파 또는 베타)의 코드를 사용하고 있습니다. 나는 오래된 튜토리얼이 아닌 RTM에 제안 할 것이다. 지시문이나 제공자는 라우터 모듈에서 상당히 오랫동안 명시 적으로 가져올 필요가 없습니다. – estus
'ROUTER_DIRECTIVES'는 꽤 오래된 것입니다. 어떤 각도 버전을 사용하고 있습니까? 그것은'RouterModule'이어야하고'@NgModule()'의'imports : [...]'로 가야합니다. –