不能在角线中使用枚举

问题描述 投票:0回答:1

[为避免路线或导航输入错误,在具有许多路线的深度嵌套应用中,尝试将枚举或常量用于路线]

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
    }]
}

我尝试使用enumconststaticcomponent属性,但结果始终相同。

试图找出代码是否有问题或是AOT行为...

[为避免路线或导航输入错误,在具有许多路线的深度嵌套应用中,尝试使用枚举或常量作为路线路径,请导出枚举AppRoutes {MAIN ='mainView',...

angular routes aot
1个回答
0
投票
这与枚举或const无关,这是因为您试图将评估结果分配给path属性。
© www.soinside.com 2019 - 2024. All rights reserved.