【发布时间】:2018-01-20 01:43:14
【问题描述】:
如何在路由配置中调用函数以在 Angular 5 中设置子路由? 代码示例:
export const homeRoutes: Routes = [
{
path: 'home',
component: HomeContainer
children: [
getChildrenRoutes()
]
}
]
@NgModule({
imports: [
RouterModule.forChild(homeRoutes),
],
...
})
export class HomeRoutingModule {}
函数getChildrenRoutes() 返回Route。在 JIT 模式下它运行良好,但如果我让 AoT 构建它会引发错误:
错误中的错误:静态解析符号值时遇到错误。不支持函数调用。考虑用对导出函数的引用替换函数或 lambda ...
【问题讨论】:
-
不支持函数调用。
-
嗯.. 检查gist.github.com/chuckjaz/65dcc2fd5f4f5463e492ed0cb93bca60 并且它是真的。 @JBNizet 任何想法如何设置路由对象,在哪里调用函数?尝试在
HomeRoutingModule构造函数中使用router.resetConfig(homeRoutes),但使用这种方法我无法输入路线。 -
请在问题中包含您的 getChildrenRoutes() 代码
标签: angular angular2-aot