Hepsine biraz servis enjekte etmesi gereken bir dizi angular2 bileşenim var. İlk düşüncem, bir süper sınıf yaratmanın ve hizmeti oraya enjekte etmenin en iyisi olacağıydı. Bileşenlerimden herhangi biri bu süper sınıfı genişletir ancak bu yaklaşım işe yaramaz.
Basitleştirilmiş örnek:
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
}
}
Bunu MyService
her bir bileşenin içine enjekte ederek çözebilirim ve bu argümanı super()
arama için kullanabilirim ama bu kesinlikle bir tür saçmalık.
Bileşenlerimi süper sınıftan bir hizmeti devralmaları için doğru şekilde nasıl düzenleyebilirim?