You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular路由子组件显示异常:跳转后父组件未隐藏求助

解决方案

问题出在你的路由结构上——你把RicercaModuloComponent设为了HomeUtenteBaseComponent的子路由,这意味着它会渲染在父组件内部的<router-outlet>中,同时父组件的内容会一直保留。要实现跳转后仅显示RicercaModuloComponent,需要把两个组件设为同级路由,具体修改如下:

修改home-utente-base-routing.module.ts

将原来的父子路由结构调整为同级路由:

const routes: Routes = [
  // 访问 funzioniUtenteBase 时显示首页组件
  {
    path: '',
    component: HomeUtenteBaseComponent
  },
  // 访问 funzioniUtenteBase/ricercaModulo 时直接显示搜索组件,替换首页组件
  {
    path: 'ricercaModulo',
    component: RicercaModuloComponent
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class HomeUtenteBaseRoutingModule { }

移除不必要的<router-outlet>

现在不需要在home-utente-base.component.html中添加<router-outlet>了,保持原代码即可——因为两个组件现在都是渲染在app.component.html的根<router-outlet>中,访问子路径时会直接替换掉首页组件,不会同时显示。

这样修改后,访问funzioniUtenteBase时显示HomeUtenteBaseComponent,点击跳转链接到funzioniUtenteBase/ricercaModulo时,页面会只显示RicercaModuloComponent,符合你的需求。

内容的提问来源于stack exchange,提问作者O.Eight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:05:32