Я просматривал @ эту SO Q & A, и интересно, можно ли вместо этого иметь базу abstract class
? Вместо interface
можно ли иметь разные реализации базового класса в дочерних компонентах, которые доступны для родительского компонента через декоратор @ViewChild
в Angular2?
В идеале я хотел бы иметь средства для дочерних компонентов, которые создаются через родительский Router
, чтобы иметь возможность вызывать родительский маршрутизатор - имеет ли это смысл? Я хочу, чтобы ребенок мог позвонить parentRouter.navigate(["SomeOtherRoute", { args: 'blah' }]);
.
Мой первоначальный подход заключался в том, чтобы дочерние компоненты реализовывали базовый класс, на который родительский компонент мог бы получить ссылку через декоратор @ViewChild
. Родитель будет subscribe
реагировать на действие дочернего элемента, пытающегося вызвать событие навигации, а его обработчик вызовет router.navigate
(поскольку у него есть маршрутизатор на родительском уровне).