如何将数据注入从路由器创建的Angular2组件?

时间:2015-10-23 17:37:08

标签: components router angular

我目前正在尝试构建一个Angular2原型(基于alpha44)我们的Angular1应用程序(非常复杂的一个),我正在尝试在使用路由和子路径时找到最佳的模型/数据架构。

在我的示例中,从路径创建的子组件中,我想访问父组件的属性(托管router-outlet)。

但是当您从router-outlet创建组件时,您将无法再使用@Input@Output。 那么,除了基本routeParams和静态routeData之外,注入一些数据/属性的最佳做法是什么?

如何在没有太多耦合的情况下与父组件进行通信?

3 个答案:

答案 0 :(得分:2)

您可以使用RouteData将数据传递到路线中。请参阅herehere。我仍然缺少从组件初始化此数据obj的部分(参见my question关于)

答案 1 :(得分:2)

共享服务可以与路由器添加的组件一起使用。有关详细信息,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html

data支持也被添加到RC.4中的新路由器中。有关详细信息,请参阅How do I pass data in Angular 2 components while using Routing?

Angular 2 - equivalent to router resolve data for new router也可能有关系。

答案 2 :(得分:0)

您可以将Router Outlet内部子组件的数据传递(注入)到Subject,Observable的Parent组件。您可以在此video找到我的解决方案。

请参阅GitHub上的代码:https://github.com/tabvn/angular-blog