4
У меня есть родительский сервис, который имеет некоторую зависимость, каккак продлить службу с зависимостями в угловых 2
@Injectable()
export class ParentService{
constructor(private http:Http, private customService:CustomService){}
}
, и я хочу, чтобы распространить эту услугу
@Injectable()
export class ChildService extends ParentService{
constructor(){
super(??) <= typescript now asking to enter two parameters according to ParentServie's constructor
}
}
Edit ----- ------------
@Injectable()
export class ParentService{
constructor(private http:Http, private customService:CustomService){}
get(){this.http.get(...)}
}
@Injectable()
export class ChildService extends ParentService{
constructor (private http:Http, private customService:CustomService){
super(http, customService)
}
}
Тогда я могу использовать в компонентах?
export class Cmp {
constructor(private childService:ChildService){
this.childService.get()
}
}
Я скорректировал кода, будет ли это работать? –
нет, конструктор пропускает параметры. Angular2 DI считывает из параметров конструктора зависимости, которые он должен передать компоненту. 'ChildService' не получит ничего, потому что у него нет параметров конструктора. 'super (http, customService)' недопустимо, потому что 'http' и' customService' не известны в подклассе. –
Извините, забыл добавить параменованные элементы к конструктору дочерних компонентов. Неправильно? –