Angular 如何将数据传递到嵌套管线组件

Angular 如何将数据传递到嵌套管线组件,angular,angular-ui-router,Angular,Angular Ui Router,我正在使用Angular Router,具有以下嵌套路由: ResourceComponent从REST-API获取资源,并包含一个,其他组件在其中呈现。子路由组件应显示所获取数据的不同部分。当我单击相应的链接时,我可以使用history.state将数据放入子组件中。但是,当导航到url/resource/1/general时,这不起作用,因为ResourceGeneralComponent没有ResourceComponent中所需的数据 我通过这样的链接传递状态中的资源。就像我说的点击链接

我正在使用Angular Router,具有以下嵌套路由:

ResourceComponent
从REST-API获取资源,并包含一个
,其他组件在其中呈现。子路由组件应显示所获取数据的不同部分。当我单击相应的链接时,我可以使用
history.state
将数据放入子组件中。但是,当导航到
url/resource/1/general
时,这不起作用,因为
ResourceGeneralComponent
没有
ResourceComponent
中所需的数据

我通过这样的链接传递状态中的资源。就像我说的点击链接很好

<a routerLink="general" [state]="{resource: resource}" routerLinkActive="active" class="nav-link">General</a>
概述
如何将资源放入子组件中,使其不使用
history.state
?我尝试订阅父组件和子组件共享的服务中的可观察事件,但传递给subscribe in child的函数没有被调用(可能是因为父组件在呈现子组件之前触发可观察事件)


<>我如何正确地将数据传递给子组件?

,我会考虑使用属性包服务中的主体或行为主体作为属性。 我也经历过类似的过程,我所做的就是创建了一个包含一些属性的服务。
我将属性创建为Behavior Subject,这样我就可以订阅它,并在发生任何更改时收到通知。

听起来不错,但如何解决先在主组件中获取资源,然后不呈现子组件,因此在设置资源时无法接收通知的问题?我是否延迟发送主组件中的更新或其他内容?如果您使用的是可观察对象和主题,您可以解决该问题。并从子组件订阅该属性。
<a routerLink="general" [state]="{resource: resource}" routerLinkActive="active" class="nav-link">General</a>