Я столкнулся с ошибкой с маршрутизацией Angular 2. (Используя angular/router2.0.0-rc1)
Вот как выглядят маршруты:
tabs/editItem (For creating a new item)
tabs/id/editItem (For editing an item)
tabs/id/itemStuff
tabs/id/differentStuff
В моем компоненте вкладок мне нужно отключить параметры itemStuff и DifferentStuff, когда идентификатор не указан, но включить, когда есть идентификатор.
Я использовал NgIf для идентификатора в своем шаблоне и:
routerOnActivate(curr: RouteSegment) {
if(curr.getParam('pId') == null)
return;
this.pId = +curr.getParam('pId');
}
Проблема в том, что я не могу получить доступ к параметрам маршрутов со своей страницы вкладок, потому что «routerOnActivate» вызывается только в конечной точке маршрутов. Похоже, что вариант состоит в том, чтобы дочерние элементы выполняли проверку для меня, а затем отправляли событие обратно для обновления компонента вкладок, но это кажется уродливым и неправильным способом сделать это.
Любая помощь приветствуется!
TLDR: как родительский компонент может получить доступ к параметру и обработать его