角度-延迟加载后在子级中定义父级路由

时间:2019-09-16 04:39:59

标签: angular typescript angular8

在延迟加载后如何从子组件定义父路由?

例如:

app-routing.module.ts

const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'login', loadChildren: () => import('./user/user.module').then(m => m.UserModule) }
];

user-routing.module.ts

const routes: Routes = [
  { path: '', component: LoginComponent },
  { path: '../register', component: RegisterComponent },
  { path: '../reset', component: ResetPasswordComponent },
  { path: '../verify', component: VerifyComponent, canActivate: [AuthGuard] }
];

显然“ ../”不起作用,但是我希望路径“ / register”,“ / reset”和“ / verify” ...是根路径。但是,我仍然想延迟加载用户模块,以便一次加载所有内容,只是不希望我的路由器位于另一个文件夹或子路由中,例如“ / user”或“ / login”。

1 个答案:

答案 0 :(得分:0)

由于注册后,请确认组件不在app模块中,因此必须将模块名称放置在url中,以便从特定的模块角度加载组件。

为了满足您的要求,首先可以使用正确的路径从该模块加载组件,然后可以更改地址栏中的URL,而无需导航。

  

您可以使用 location.go(url),它基本上会更改您的网址,而无需更改申请途径。

有关更多信息,请参阅此answer