我正在从官方文档中学习Angular 2的 应用程序路由.我正在通过以下代码.
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; export const routes: Routes = [ { path: '', redirectTo: 'contact', pathMatch: 'full'}, { path: 'crisis', loadChildren: 'app/crisis/crisis.module#CrisisModule' }, { path: 'heroes', loadChildren: 'app/hero/hero.module#HeroModule' } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule {}
它创建AppRoutingModule
并定义routes
它.我无法理解的部分是为什么我们需要再次导出RouterModule?我相信它是核心角度模块之一,可以通过导入随处可用@angular/router
.
您不需要导出它.这只是为了方便.如果你添加AppRoutingModule
到AppModule
你也隐式导入RouterModule
这种方式.否则你需要明确地导入它
@NgModule({ imports: [AppRoutingModule, RouterModule], }) export class AppModule {}
例如,能够使用
或RouterLink
在声明的组件中AppModule