角度路由无法在延迟加载时正常工作

时间:2018-04-29 20:45:35

标签: javascript angular routing

在我的Angular应用程序中,当我打开链接localhost:4200(应用程序服务)时,我希望我的应用程序将我重定向到localhost:4200 / notes。我希望看到notes-component的数据,它包含在主要组件中。

示例(html页面中的文字):

App component
Main component
Notes-page component

但我只能看到localhost:4200(没有重定向)和notes-component的数据,没有主要组件。

示例(html页面中的文字):

App component
Notes-page component 

为什么它会像这样?我怎么纠正它?

文件结构:

/app
  /containers
    /main
      /notes-page
        notes-page.routing.ts
        notes-page.component.ts
        notes-page.module.ts
    main.routing.ts
    main.component.ts
    main.module.ts
  app.routing.ts
  app.component.ts
  app.module.ts

文件:

app.routing.ts

export const routing: ModuleWithProviders = RouterModule.forRoot([
  {
    path: '',
    loadChildren: './containers/main/main.module#MainModule'
  }
]);

app.component.html

<h5>App component</h5>
<router-outlet></router-outlet>

main.module.ts

export const routing: ModuleWithProviders = RouterModule.forChild([
  {
    path: '',
    component: MainComponent,
    children: [
      {
        path: '',
        redirectTo: 'notes',
        pathMatch: 'full'
      },
      {
        path: 'notes',
        loadChildren: './notes-page/notes-page.module#NotesPageModule'
      }
    ]
  }
]);

main.component.html

<h5>Main component</h5>
<main> 
  <router-outlet></router-outlet>
</main> 

笔记-page.module.ts

export const routing: ModuleWithProviders = RouterModule.forChild([
  {
    path: '',
    pathMatch: 'full',
    component: NotesPageComponent
  }
]);

笔记-page.component.html

<h5>Notes-page component</h5>

1 个答案:

答案 0 :(得分:0)

检查一下:      - app.routing.ts文件应该在此处导入MainComponent并在app.module.ts中导入:

{{1}}

您不需要main.module.ts