Angular 无法识别路由器插座
Angular router-outlet not recognized
为了提高我的技能,我正在尝试我在 angular
中得到的所有想法
在这种情况下,我正在尝试路由由两个功能模块和一个共享模块组成的功能模块。
我的生根是使用 cli 命令生成的 ng g m router --routing
并手动更新如下
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { InterpolationComponent } from '../exemple100/interpolation/interpolation.component'
import { PageNotFoundComponent } from '../page-not-found/page-not-found.component';
import { AppComponent } from '../app.component';
import { Ex200Component } from '../ex200/ex200.component';
import { Ex300Component } from '../ex300/ex300.component';
import { Ex400Component } from '../ex400/ex400.component';
import { Ex500Component } from '../ex500/ex500.component';
import { SalesComponent } from '../ex500/sales/sales.component';
import { SupportComponent } from '../ex500/support/support.component';
const routes: Routes = [
{path: 'ex100', component: InterpolationComponent },
{path: 'ex200', component: Ex200Component },
{path: 'ex300', component: Ex300Component },
{path: 'ex400', component: Ex400Component },
{path: 'ex500', component: Ex500Component },
{path: 'ex500/sales', component: SalesComponent },
{path: 'ex500/support', component: SupportComponent },
{path: '**', component: PageNotFoundComponent },
{path: '', component: AppComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class RouterRoutingModule { }
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterRoutingModule } from './router-routing.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
RouterRoutingModule
]
})
export class RouterModule { }
然后我手动更新引导应用程序模块
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { InterpolationComponent } from './exemple100/interpolation/interpolation.component';
import { Ex200Component } from './ex200/ex200.component';
import { Ex300Component } from './ex300/ex300.component';
import { FormsModule } from '@angular/forms';
import { Ex400Component } from './ex400/ex400.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
import { RouterModule } from './router/router.module';
import { Ex500Module } from './ex500/ex500.module';
@NgModule({
declarations: [
AppComponent,
InterpolationComponent,
Ex200Component,
Ex300Component,
Ex400Component,
PageNotFoundComponent
],
imports: [BrowserModule, FormsModule, RouterModule, Ex500Module],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
Ex500Module
是我的组合功能模块(销售和支持:都在使用共享模块)
我的路由器插座还没有被我的主要组件识别,为什么?
我对 angular 路由和模块处理的基本理解:
Importing a module is importing it exported components : in my case the RouterModule(@angular/router) is exported in RouterRoutingModule, which is imported in the AppModule via my RouterModule(./router/router.module), so all it exported component should be imported
我不确定为什么你有两个模块 Router
和 RouterRouting
,但如果你这样做,你需要 re-export 中间模块中的路由器
@NgModule({
declarations: [],
imports: [
CommonModule,
RouterRoutingModule
],
export: [ RouterRoutingModule ]
})
export class RouterModule { }
为了提高我的技能,我正在尝试我在 angular
中得到的所有想法在这种情况下,我正在尝试路由由两个功能模块和一个共享模块组成的功能模块。
我的生根是使用 cli 命令生成的 ng g m router --routing
并手动更新如下
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { InterpolationComponent } from '../exemple100/interpolation/interpolation.component'
import { PageNotFoundComponent } from '../page-not-found/page-not-found.component';
import { AppComponent } from '../app.component';
import { Ex200Component } from '../ex200/ex200.component';
import { Ex300Component } from '../ex300/ex300.component';
import { Ex400Component } from '../ex400/ex400.component';
import { Ex500Component } from '../ex500/ex500.component';
import { SalesComponent } from '../ex500/sales/sales.component';
import { SupportComponent } from '../ex500/support/support.component';
const routes: Routes = [
{path: 'ex100', component: InterpolationComponent },
{path: 'ex200', component: Ex200Component },
{path: 'ex300', component: Ex300Component },
{path: 'ex400', component: Ex400Component },
{path: 'ex500', component: Ex500Component },
{path: 'ex500/sales', component: SalesComponent },
{path: 'ex500/support', component: SupportComponent },
{path: '**', component: PageNotFoundComponent },
{path: '', component: AppComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class RouterRoutingModule { }
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterRoutingModule } from './router-routing.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
RouterRoutingModule
]
})
export class RouterModule { }
然后我手动更新引导应用程序模块
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { InterpolationComponent } from './exemple100/interpolation/interpolation.component';
import { Ex200Component } from './ex200/ex200.component';
import { Ex300Component } from './ex300/ex300.component';
import { FormsModule } from '@angular/forms';
import { Ex400Component } from './ex400/ex400.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
import { RouterModule } from './router/router.module';
import { Ex500Module } from './ex500/ex500.module';
@NgModule({
declarations: [
AppComponent,
InterpolationComponent,
Ex200Component,
Ex300Component,
Ex400Component,
PageNotFoundComponent
],
imports: [BrowserModule, FormsModule, RouterModule, Ex500Module],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
Ex500Module
是我的组合功能模块(销售和支持:都在使用共享模块)
我的路由器插座还没有被我的主要组件识别,为什么?
我对 angular 路由和模块处理的基本理解:
Importing a module is importing it exported components : in my case the RouterModule(@angular/router) is exported in RouterRoutingModule, which is imported in the AppModule via my RouterModule(./router/router.module), so all it exported component should be imported
我不确定为什么你有两个模块 Router
和 RouterRouting
,但如果你这样做,你需要 re-export 中间模块中的路由器
@NgModule({
declarations: [],
imports: [
CommonModule,
RouterRoutingModule
],
export: [ RouterRoutingModule ]
})
export class RouterModule { }