Angular 1.5 компонентная привязка к маршрутизатору

Я пытаюсь переключить проект 1.5x на компоненты и использовать новый компонент-маршрутизатор. У меня проблема с программным доступом к $router в паре компонентов, которые не находятся внутри директивы. В основном у меня есть компоненты заголовка и боковой панели, которые должны быть в состоянии сделать $router.navigvate, но используя привязки: {$router: "<"} дает мне неопределенное $router,

Я думаю, что мне просто нужно немного реструктурировать приложение, но я не уверен, как это сделать.

В настоящее время в моем Index.html я определил ng-app в теле, а затем в нем основной модуль приложения (<app></app>). У моего основного компонента приложения есть шаблон с моей "главной страницей".

Так что app.html имеет <header> составная часть, <sidebar> компонент, а затем <ng-outlet> для основного контента. С UI-Router я просто использовал службу $state в контроллерах заголовка / боковой панели, чтобы найти активное состояние или перейти в новое состояние.

С компонентом router я не могу понять, как получить $router в контроллеры заголовка / боковой панели.

Есть идеи?

1 ответ

Используйте $rootRouter в контроллере

function controller($rootRouter){ $rootRouter.navigate(["someComponent"]) or $rootRouter.navigateByUrl("/url") }

Другие вопросы по тегам