【发布时间】:2017-03-23 11:14:11
【问题描述】:
有没有办法在 Angular 2 中连接两个路由数组?我需要将路由定义拆分为不同的文件,因此我有多个要合并的变量。 我试过使用数组推送,但没有运气。
即(这是有效的):
export const routes: Routes = [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full',
},
{
path: '',
component: LayoutComponent,
data: {
title: 'Home'
},
children: [
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
},
{
path: 'page1',
loadChildren: './page1/page1.module#Page1Module'
}
]
}
];
function getRoutes(){
return routes;
};
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
但这不起作用(导航到 /page1 时出现“找不到第 1 页模块”错误)。
export const routes: Routes = [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full',
},
{
path: '',
component: LayoutComponent,
data: {
title: 'Home'
},
children: [
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
}
]
}
];
function getRoutes(){
// Actually customRoutes will be splited in its own file and imported
let customRoutes = {
path: 'page1',
loadChildren: './page1/page1.module#Page1Module'
}
routes[1].children.push(customRoutes)
return routes;
};
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
我做错了吗?
【问题讨论】:
-
请清除。没有合并的第一个简单示例甚至不起作用吗?
-
你没有在
RouterModule.forRoot(routes)中使用函数getRoutes()。 -
是的,抱歉,应该是
RouterModule.forRoot(getRoutes()),但我无法编辑我的答案。function getRoutes()也应该是export function getRoutes()。第一个例子有效,第二个无效。 -
您是否设法解决了这个问题?我也需要连接我的路线。
标签: javascript angular routes