儿童组件中的角形路由器插座未显示任何内容

时间:2020-03-08 18:05:24

标签: angular routes

app.component.html:

<router-outlet></router-outlet>

app.routing.module.ts

{
path: 'app',
component: MainLayoutComponent,
children: [
  {
    path: 'travels',
    loadChildren: () => import('./modules/travels/travels.module').then(m => m.TravelsModule),
  },
],

},

main-layout.component.html

<router-outlet></router-outlet>

MainLayoutComponent已正确加载,因为如果我编写“ console.log(“ TEST”),它会在控制台中正确打印,但是子组件未加载。

travel-.module.ts

import { NgModule } from '@angular/core';

import { TravelsRoutingModule } from './travels-routing.module';
import { SharedModule } from 'src/app/shared/shared.module';

import { TravelsListComponent } from './travels-list/travels-list.component';

const SHARED_COMPONENTS = [TravelsListComponent];

@NgModule({
  declarations: [...SHARED_COMPONENTS],
  imports: [TravelsRoutingModule, SharedModule],
})
export class TravelsModule {}

travel-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { TravelsListComponent } from './travels-list/travels-list.component';

const routes: Routes = [
  {
    path: '',
    component: TravelsListComponent,
  },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
})
export class TravelsRoutingModule {}

2 个答案:

答案 0 :(得分:0)

值得检查的东西(很抱歉,很明显):

  1. main-layout.component.html是否正确导入到MainLayoutComponent内部?
  2. 浏览器控制台中是否存在任何错误,可能导致事物无法正确加载?
  3. 是否在浏览器的“网络”标签中下载了延迟加载模块?
  4. 如果您将子路径创建为标准路径,而不是延迟加载的模块,那么它是否起作用?

答案 1 :(得分:0)

我找到了解决方法:

问题: MainLayoutComponent 被声明为 SharedModule ,而不是AppModule。

但是在SharedModule中没有导入 RouterModule