모든 서비스가 주입되어야하는 angular2 구성 요소 집합이 있습니다. 첫 번째 생각은 수퍼 클래스를 만들고 거기에 서비스를 주입하는 것이 가장 좋을 것이라고 생각했습니다. 내 구성 요소 중 하나가 해당 수퍼 클래스를 확장하지만이 접근 방식은 작동하지 않습니다.
단순화 된 예 :
export class AbstractComponent {
constructor(private myservice: MyService) {
// Inject the service I need for all components
}
}
export MyComponent extends AbstractComponent {
constructor(private anotherService: AnotherService) {
super(); // This gives an error as super constructor needs an argument
}
}
나는 MyService
각각의 모든 구성 요소 내에 주입하여이 문제를 해결할 수 있고 그 인수를 super()
호출에 사용할 수 있지만 그것은 분명히 일종의 터무니없는 일입니다.
수퍼 클래스에서 서비스를 상속하도록 구성 요소를 올바르게 구성하는 방법은 무엇입니까?