所以我有四个模块如下:
|-app.module
|-Home.module
|-private.module
|-public.module
AppModule延迟加载HomeModule和HomeModule Lazy加载PrivateModule& PublicModule。
我已经为这些模块定义了我的路由,如下所示:
app.routing.ts
import { NgModule} from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: '', loadChildren: './home/home.module#HomeModule' }
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule { }
Home.routing.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
const routes: Routes = [
{ path: '', component: HomeComponent},
{ path: 'private', loadChildren: './../private/private.module#PrivateModule'},
{ path: 'public', loadChildren: './../public/public.module#PublicModule' }
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [RouterModule]
})
export class HomeRoutingModule { }
private.routing.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { PrivateComponent } from './private/private.component';
export const privateRoutes: Routes = [
{ path: '',component:PrivateComponent}
];
@NgModule({
imports: [
RouterModule.forChild(privateRoutes)
],
exports: [RouterModule]
})
export class PrivateRoutingModule { }
public.routing.ts
与private.routing.ts
相同。
现在,当我访问localhost:4200
时,它会正确加载Home Component。但是当我尝试访问localhost:4200/private
或localhost:4200/public
时,它会重新加载浏览器&只加载privateComponent。
我使用了两个路由器插座。一个在app.component内部,另一个在home.component中。
我想在HomeModules RouterOutlet中加载私有组件,但是它将它加载到AppModules RouterOutlet中。
任何输入?
感谢。
答案 0 :(得分:0)
我认为您可以将private
和public
路由定义为children
的{{1}}。
homeModule
然后你的私人/公共路线配置就像
const routes: Routes = [
{
path: '',
component: HomeComponent,
children: [
{ path: 'private', loadChildren: './../private/private.module#PrivateModule'},
{ path: 'public', loadChildren: './../public/public.module#PublicModule' }
]
}
]
答案 1 :(得分:0)
我不确定你做错了哪一部分,这就是我要求举例的原因。
祝你好运。