【发布时间】:2022-01-20 13:52:52
【问题描述】:
我创建了一个 stackblitz 来尝试说明在父级外部显示子路由时遇到的问题。相反,该应用程序有一个类似但几乎相反的问题:当导航到没有子 url 的祖父路由时,它将孙子组件放置在祖父组件中,而不涉及子组件。即使孙子只定义在孩子身上。
有2个嵌套布局组件:
-
LayoutComponent(祖父 - 定义为 app.routing.ts 中路径的组件:'') -
StoreLayoutComponent(父级 - 定义为 store.routing.ts 中路径的组件:'store') - 还有一个名为
DashboardComponent(子)的组件。
StoreLayoutComponent 有一个名为“dashboard”的子路由,它显示DashboardComponent。
导航到“商店/仪表板”应在StoreLayoutComponent 中显示DashboardComponent。确实如此。
导航到“商店”应该是无效路线,而是直接在LayoutComponent 内显示DashboardComponent。它从不加载StoreLayoutComponent,即使那是该路由的父组件,而且 'DashboardComponent' 甚至没有在 LayoutComponent 模块中定义。
为什么这是一条有效的路线,以及如何在祖父母中以角度显示仅定义为父母的孩子的组件?
【问题讨论】: