私は私を持っているapp-routing.module.ts次のように:
import { NgModule } from '@angular/core';
import {
Routes,
RouterModule
} from '@angular/router';
const routes: Routes = [
{
path : 'reset',
loadChildren: 'app/auth/reset-password-form/reset-password-form.module#ResetPasswordFormModule'
},
{
path : 'verify',
loadChildren: 'app/auth/verify-user-form/verify-user-form.module#VerifyUserFormModule'
},
{
path : '404',
loadChildren: 'app/route-not-found/route-not-found.module#RouteNotFoundModule'
},
{
path : '',
pathMatch : 'full',
loadChildren: 'app/landing-page/landing-page.module#LandingPageModule'
},
{
path : '**',
redirectTo: '/404'
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
私がlocalhost:4200、それはlanding-page.moduleしかし、正しく入力したときlocalhost:4200/resetまたはlocalhost:4200/verifyまたはlocalhost:4200/404、それは関連するモジュールを読み込まず、代わりにロードしますlanding-page.module自動的に。
どうすればこの問題を解決できますか?
あなたの子モジュールにルートを追加する必要があります
const routes: Routes = [
{ path: '', component: ResetComponent}
];
const ROUTES: ModuleWithProviders =
RouterModule.forChild(routes);
子モジュール(ResetModule)のROUTESをインポートします
@NgModule({
imports: [
CommonModule,
ROUTES,
],
declarations: [ResetComponent],
exports: [ResetComponent]
})
この問題は、インポートで追加したインポートのために発生する可能性があります.AppModule(または他のモジュールファイル)の[]
遅れてロードされたすべてのモジュールをインポート配列から削除してください。
たとえば:HomeModule、ProfileModule、およびSettingsModuleの3つのモジュールがあります。 HomeModuleがeagarlyに読み込まれ、ProfileModuleとSettingsModuleが遅延ロードされている場合、AppModule(app.module.ts)のimports:[]は次のようになります。
import:[HomeModule]であり、実行時に自動的にロードされるため、ProfileModuleやSettingsModuleは含めないでください。