Angular-关于使用具有路径参数的父级从一个同级导航到另一个延迟加载的组件的问题

问题描述 投票:0回答:3

我正在使用angular 9,并且正在使用延迟加载功能模块。我无法从一个组件导航到同一个组件。我有以下结构:

src / app / app-routing.module.ts

const routes: Routes = [
  {
    path: 'module1',
    loadChildren: () => import('./module1.module').then(m => m.Module1Module)
  },
  {
    path: 'module2/:id',
    loadChildren: () => import('./module2.module').then(m => m.Module2Module)
  }
];

src / app / app.component.html

<button routerLink="/module1">Go to Module1</button>
<router-outlet></router-outlet>

src / app / module2 / module2-routing.module.ts |类似的rc / app / module1 / module1-routing.module.ts

const routes: Routes = [
  {
    path: '',
    component: Module2Component,
    children: [{
    path: '',
    redirectTo: 'child1',
    pathMatch: 'full'
  },
  {
    path: 'child1',
    loadChildren: () => import('./child1.module').then(m => m.Child1Module)
  },
  {
    path: 'child2',
    loadChildren: () => import('./child2.module').then(m => m.Child2Module)
  }
  ]
];

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

src / app / child1 / child1.component.html

<button routerLink="../child2">Go to Module2</button>

[我的问题是,从家到Module1,我有正确的URL,即http://localhost:4200/module1,但如果我想从module2 / MyID / child1进入module2 / MyID / child2,则它将转到http://localhost:4200/module2/MyID/child1/child2,而不是http://localhost:4200/module2/MyID/child2] >

谢谢

我正在使用angular 9,并且正在使用延迟加载功能模块。我无法从一个组件导航到同一个组件。我具有以下结构:src / app / app-routing.module.ts const ...

angular lazy-loading
3个回答
0
投票

尝试更改routerLink="/module2"


0
投票

而不是像../


0
投票

由于有解决您问题的答案,但我仍然会回答以解释正在发生的事情。

© www.soinside.com 2019 - 2024. All rights reserved.