2016-10-22 69 views
3

我有一个角2应用程序,其中有两个独立的功能又名组件相邻的另一个组件(我们称他们为A和B)。现在我想通过路由来改变组件A中的生活。到现在为止还挺好。这将是一个正常的情况,我们可以将组件A称为应用程序内容组件。Angular2路由:一次多个组件

我的问题是我想能够通过路由来改变组件B内部的内容。

当然现在我可以像http://foo.bar/what-lives-in-a/123/what-lives-in-b/abc 制定路线,但想象一个应用程序那里有无数的事情,可能生活在一个和的东西,可以住在我B.认为这是太痛苦了创建所有这些dozends中手工分路线。

那么你们中的任何人都知道解决这个问题的好方法吗?

+0

能否请你解释一下你究竟想要什么样的例子? – micronyks

+0

其实我可以。我们的团队想要在左侧创建一个UI,我们有一个视图组件。假设我想列出所有客户。在右侧,我有一个动作组件,可以在其中执行任何动作(与视图组件中看到的无关)。所以我可以在查看客户列表时执行“创建任务”操作。心智“创造任务”与客户无关 – Domenic

+0

是的,这是可能的,也很容易。 – micronyks

回答

5

你想要什么可以实现与2个独立的路由器插座。因为组件是独立的,所以它是有意义的。 所以你,也许已经有主路由器的出口是在最上面的组件,并像指定: <router-outlet></router-outlet>

要指定另外一个你需要编写如下: <router-outlet name="forComponentB"></router-outlet> 后,你将有添加的路线一样,命名路由器出口:

,{path: "comp-b-path", outlet: "forComponentB", component: ComponentB}

因此产生的URL看起来就像是: 的BaseURL/COMP-A-URL(forComponentB:COMP-b-路径)和你可以管理状态两个组件都是通过改变主URL或括号中的值来独立进行的。请注意,您可以将参数添加到每个网址,因此非常灵活。

+0

哇,这听起来就像我希望的东西!谢谢!我必须在接下来的几天内尝试它 – Domenic

+0

希望它能帮助,让我知道如果有什么不起作用,会尽力帮助 –