[为避免路线或导航输入错误,在具有许多路线的深度嵌套应用中,尝试将枚举或常量用于路线]
export enum AppRoutes { MAIN = 'mainView', MAIN_SUB = 'mainView/SubView' } const registrationRoutes: Routes = [ { path: AppRoutes.MAIN, component: .. children: [ { path: '', component: .. }, { path: AppRoutes.MAIN_SUB.substr(AppRoutes.MAIN_SUB.indexOf('/') + 1), component: .. }, { path: `${AppRoutes.MAIN_SUB.substr(AppRoutes.MAIN_SUB.indexOf('/') + 1)}`, component: .. } ] } ];
ng serve
和未启用aot
的编译代码都可以很好地工作。但是,在启用production
代码或启用aot
的情况下,始终会出现以下结果:编译器忽略了path
属性。
{ path: "", component: A children: [{ path: "", component: sn }, { component: Pn }, { component: An }] }
我尝试使用
enum
的const
,static
,component
属性,但结果始终相同。
试图找出代码是否有问题或是AOT行为...
[为避免路线或导航输入错误,在具有许多路线的深度嵌套应用中,尝试使用枚举或常量作为路线路径,请导出枚举AppRoutes {MAIN ='mainView',...