私は、複数のモジュールを持つ新しいAngularアプリケーションを開発中です。私はまだルーティングを正しくするのに苦労しています。次の(簡略化された)例では、StoreModule
を遅延ロードしたいとします。 URLが指定されていない場合は、私のアプリケーションで/store
にリダイレクトされます。無効なURLが指定されている場合、NotFoundComponent
が表示されます。ただし、現在の設定では、URLに関係なく、常にNotFoundComponent
が表示されます。あなたは私が間違っていることを見ていますか?角度遅延ロードルーティングは常にワイルドカードモジュールに行きます
これは、私はURLのマッチが行われないことができる場合にのみNotFoundModule
で提供RouterModule
を使用することを期待する私のapp.module.ts
ファイルです。
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