最新的Angular 2.0.0,通过最新的angular-cli 1.0.0-beta.14,node: 6.6.0,os: linux x64
我的工作是:
1)创建新项目
ng new angular-test
ng g component projects
ng g component typings2)添加简单路由
/src/app/app.component.html
<router-outlet></router-outlet>/src/app/app.module.ts
export const ROUTES: Routes = [
{
path: '',
redirectTo: '/projects',
pathMatch: 'full'
},
{
path: 'projects',
component: ProjectsComponent,
},
{
path: '/typings',
component: TypingsComponent
},
{
path: '**', redirectTo: ''
}
];
@NgModule({
declarations: [
AppComponent,
ProjectsComponent,
TypingsComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forChild(ROUTES)
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }我得到的是:
EXCEPTION: Error in ./AppComponent class AppComponent - inline template:3:0 caused by: No provider for RouterOutletMap!
ORIGINAL EXCEPTION: No provider for RouterOutletMap!

我是如何尝试解决这个问题的
我尝试在AppModule中添加RouterOutletMap到提供者,异常不会抛出,但是应用不会重定向到项目,也不会显示嵌套组件
发布于 2016-09-17 19:46:08
您需要为应用程序模块调用RouterModule.forRoot,而不是forChild。以前的adds all the core providers,而the latter doesn't。您应该对子模块使用forChild,而不是应用程序模块。
发布于 2017-06-04 00:10:36
我也有这个问题。这就是我如何避免……总有一天这会有所帮助。谨致问候!
路由阵列-- app.routes.ts
const appRoutes:Routes =[
{
path: 'home',
component: CarouselComponent
},
{
path: 'profile',
component:UserDashboardComponentComponent,
children: [
{
path: 'overview',
component: ProfileOverviewComponent
},
{
path: 'post',
component: PostAddComponent
}
]
}
];
export const WebRouting: ModuleWithProviders =RouterModule.forRoot(appRoutes); app.module.ts
@NgModule({
declarations: [
AppComponent,
CarouselComponent,
.......
],
imports: [
BrowserModule,
MdTabsModule,
MaterialModule,
MdInputModule,
BrowserAnimationsModule,
FormsModule,
HttpModule,
WebRouting
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule { }tempale.html
<li>
<a [routerLink]="['/profile/overview']" routerLinkActive="active" >
Overview
</a>
</li>
<li>
<a [routerLink]="['/profile/post']"routerLinkActive="active">
PostAdd
</a>
</li>https://stackoverflow.com/questions/39546278
复制相似问题