1

我正在尝试将 1.5x 项目切换到组件并使用新的组件路由器。我在如何以编程方式访问$router不在指令内的几个组件中遇到问题。基本上我有需要能够做的标题和侧边栏组件$router.navigvate,但是使用绑定:{$router: "<"}给了我一个未定义的$router.

我想我可能只需要稍微重构一下应用程序,但我不知道该怎么做。

目前在我的 Index.html 中,我在正文中定义了 ng-app,然后在该 ( <app></app>) 中定义了主应用程序模块。我的主要应用程序组件有一个模板,基本上是我的“母版页”。

所以app.html有一个<header>组件,<sidebar>组件,然后<ng-outlet>为主要内容。使用 UI-Router,我只是使用标题/侧边栏控制器中的 $state 服务来查找活动状态或导航到新状态。

使用 component-router 我无法弄清楚如何将 $router 放入 header/sidebar 控制器。

有任何想法吗?

4

1 回答 1

2

在控制器中使用 $rootRouter

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

于 2016-05-25T19:40:39.483 回答