我有一个路由的Angular 4应用程序。它有这样的一系列嵌套的路线:如何使用路由来共享Angular 2应用程序的数据?
const routes: Routes = [
{ path: "genes/:id", component: GenePageComponent, children: [
{ path: "mutations/:mutationType", component: MutationPageComponent },
]},
这让我参观/genes/123/mutations/non-coding
,这样的id是123和mutationType是“非编码”。
如果我注入ActivatedRoute
,我可以订阅url
或params
,但只为片段。这意味着我只能在MutationPageComponent
中看到mutationType
。
由于<router-outlet>
无法发出,我怎样才能将此mutationType
参数与其他更高级别的组件(例如侧边栏,搜索栏或其他顶级组件)共享?
同样,如何将params.id
从GenePageComponent
传递给子代MutationPageComponent
?
您可以从当前的路线得到家长和孩子段参数,可以或者你可以使用一个共享服务,使全球范围内的可用PARAMS。 –
共享服务可能是我最终要做的。上下走动的孩子看起来就像是脆弱的。 t似乎应该有内置的东西来处理这种情况。 – superluminary