首页 > 解决方案 > 子路由是否需要默认组件

问题描述

简单的问题。如标题所述。

假设我有额外的数据要显示,但只能通过路由访问。我们会说父路由是data/:id,附加数据路由是data/:id/extra-data

看起来如果我导航到data/:id/extra-data然后导航到data/:id要显示的组件集data/:id/extra-data仍然可见。

标签: angularangular-router

解决方案


答案是肯定的,您确实需要默认路由的组件。否则,即使您从中导航,子路由的组件也将可见。

God Stacked Overflow 有时会如此密集。

{
path: 'data/:id',
component: DataComponent,
runGuardsAndResolvers: 'always',
children: [
//  This is the default route. Without it other childroutes stay rendered when navigated to
  {
    path: '', 
    component: DumbComponent,
    runGuardsAndResolvers: 'always',
  },
 {
    path: 'extra-data',
    component: ExtraDataComponent,
    runGuardsAndResolvers: 'always',
  },
],

这又不是代码问题。但显然每个人都需要查看代码。


推荐阅读