Прочитав ваш вопрос несколько раз, я не уверен, что это понятно, поэтому я опубликую его как ответ.
Вы можете расширить свой родительский класс и добавить службу, но вам все еще нужно вызвать конструктор родителя. Это неизбежно. Вам не нужно повторно вводить что-либо, хотя вам все равно нужно объявить их, по крайней мере.
Конструктор вашего ребенка должен выглядеть следующим образом:
constructor(
formBuilder: FormBuilder,
route: ActivatedRoute,
snackBar: MatSnackBar,
location: Location,
protected myService: Service // note the "protected" here but not above
) {
super(formBuilder, route, snackBar, location);
}
Не- protected
аргументы дочернего конструктора, по сути, являются «проходными», так сказать, декларациями вашего родителя о том, что должно быть введено. Ничто не вводится дважды или что-то в этом роде.