我试图将1.5x项目切换到组件并使用新的组件路由器。我遇到了如何以编程方式访问不在指令内部的几个组件中的$router.navigvate
的问题。基本上我有标题和侧边栏组件需要能够{$router: "<"}
,但使用绑定:$router
给我一个未定义的<app></app>
。
我想我可能只需要对应用程序进行一些重组,但我不确定该怎么做。
目前在我的Index.html中,我在主体上定义了ng-app,然后在其中定义了主应用程序模块(<header>
)。
我的主应用程序组件有一个模板,基本上是我的&#34;主页&#34;。
因此app.html有一个<sidebar>
组件,<ng-outlet>
组件,然后是HttpSessionListener
主要内容。使用UI-Router我只是在头文件/侧边栏控制器中使用$ state服务来查找活动状态或导航到新状态。
使用组件路由器,我无法弄清楚如何将$ router放入标头/侧边栏控制器。
有什么想法吗?
答案 0 :(得分:2)
在控制器中使用$ rootRouter
function controller($rootRouter){
$rootRouter.navigate(["someComponent"])
or $rootRouter.navigateByUrl("/url")
}