angular 路由组件未找到报错?

structure.component.html 使用 <router-outlet> 报错, 是什么原因?
image.png

在外部的 app.component.html 是正常的
image.png

app.module.ts 里面引入了 LayoutModule
layout.module.ts 里面引入了 StructureComponent

以下是详细代码

app.module.ts

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

import { AppRoutingModule } from './app-routing.module';
import { LayoutModule } from './layout/layout.module';
import { SharedModule } from './shared/shared.module';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    AppRoutingModule,
    LayoutModule,
    SharedModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app-routing.module.ts

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

import { DemoModule } from './demo/demo.module';
import { StructureComponent } from './layout/structure/structure.component';

import { TestModule } from './test/test.module';

const routes: Routes = [
  {
    path: '',
    component: StructureComponent,
    children: [
      {
        path: 'demo',
        loadChildren: () => DemoModule
      }
    ]
  },

  {
    path: 'test',
    loadChildren: () => TestModule
  }
];

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

layout.module.ts

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

import { CommonModule } from '@angular/common';
import { SharedModule } from '../shared/shared.module';
import { StructureComponent } from './structure/structure.component';

@NgModule({
  declarations: [
    StructureComponent
  ],
  imports: [
    CommonModule,
    SharedModule
  ]
})
export class LayoutModule { }

文件结构
image.png

阅读 1.7k
1 个回答

已解决

<router-outlet></router-outlet> 组件是依赖 AppRoutingModule
AppRoutingModule 没有引入, 所以 <router-outlet></router-outlet> 找不到

layout.module.ts

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

import { AppRoutingModule } from '../app-routing.module';
import { SharedModule } from '../shared/shared.module';

import { StructureComponent } from './structure/structure.component';

@NgModule({
  declarations: [
    StructureComponent
  ],
  imports: [
    AppRoutingModule,
    CommonModule,
    SharedModule
  ]
})
export class LayoutModule { }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进