Saya memiliki satu set komponen angular2 yang semuanya harus mendapatkan layanan yang disuntikkan. Pikiran pertama saya adalah yang terbaik adalah membuat kelas super dan memasukkan layanan di sana. Salah satu komponen saya kemudian akan memperluas superclass itu tetapi pendekatan ini tidak berhasil.
Contoh yang disederhanakan:
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
}
}
Saya bisa menyelesaikan ini dengan menyuntikkan MyService
dalam setiap komponen dan menggunakan argumen itu untuk super()
panggilan tetapi itu pasti semacam tidak masuk akal.
Bagaimana cara mengatur komponen saya dengan benar sehingga mereka mewarisi layanan dari kelas super?