Angular 2 RouteConfig

时间:2017-06-12 10:51:12

标签: angular

我想像这样动态创建RouteConfig

for (let route of routes) {

  { path: route.name , component: route.component }

} 

不喜欢这样:

{ path: '', redirectTo: 'Home', pathMatch: 'full' },
{ path: 'Home', component: HomeComponent},
{ path: 'Info' , component: InfoComponent },
{ path: 'About' , component: AboutComponent },

任何例子?

1 个答案:

答案 0 :(得分:0)

你已经回答了你的问题。 angular中的路径只是对象的数组。所以你可以创建变量和推送对象(它的路由接口)到变量。并将变量传递给RouteModule.forChild()forRoot()方法。

const coreRoutes:Routes = (function(){
  let result_routes = [];
  for (let route of routes) {
    result_routes.push({ path: route.name , component: route.component });  
  } 
  return result_routes;
 })();


@NgModule({
  imports: [
    RouterModule.forChild(coreRoutes)
  ],
  exports: [
    RouterModule
  ],
  providers:[]
})

在上面的例子中,我使用自调用函数使变量不会对全局变量。这不是必需的,但是防止名称冲突是很好的。