我想像这样动态创建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 },
任何例子?
答案 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:[]
})
在上面的例子中,我使用自调用函数使变量不会对全局变量。这不是必需的,但是防止名称冲突是很好的。