我正在一個新的Angular應用程序有多個模塊。我仍然努力讓我的路由正確。在下面的(簡化)例子中,我想懶加載StoreModule
。如果沒有給出網址,我想我的應用程序重定向到/store
。如果給出了無效的URL,我想要顯示我的NotFoundComponent
。但是,在我當前的配置中,始終顯示NotFoundComponent
,無論URL如何。你們看到我在做什麼錯了嗎?角度懶加載路由總是去通配符模塊
這是我的app.module.ts
文件,我希望它只使用NotFoundModule
中提供的RouterModule
,如果沒有可以匹配的URL。
app.module.ts
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AuthModule,
RouterModule.forRoot([
{ path: '', redirectTo: 'store', pathMatch: 'full'},
{ path: 'store', loadChildren: 'app/store/store.module#StoreModule'},
{ path: 'login', component: LoginComponent },
]),
LoginModule,
NotfoundModule,
],
bootstrap: [AppComponent],
exports: [RouterModule]
})
export class AppModule { }
這是我的StoreModule
。如果我註釋掉我的app.module.ts
模塊中的NotFoundModule
,這一切都按預期工作。
store.module.ts
@NgModule({
imports: [
AuthModule,
CommonModule,
SharedModule,
RouterModule.forChild([
{ path: '', pathMatch: 'full', redirectTo: 'dashboard' },
{ path: 'dashboard', component: DashboardComponent, canActivate: [AuthGuard] },
]),
],
declarations: [StoreTemplateComponent, DashboardComponent]
})
export class StoreModule { }
notfound.module.ts
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([
{
path: '**',
component: NotfoundComponent
}
])
],
declarations: [ NotfoundComponent ],
})
export class NotfoundModule { }
不過不幸的是(這在通配符路由中甚至是相關的嗎?) – hY8vVpf3tyR57Xib