在路由文件中实例化一个类会产生以下错误:装饰器不支持函数调用

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

我正在构建一个复杂的多步骤应用程序表单,应用程序的流程根据用户给出的答案而变化。我有一个类包含我所有路由的枚举,这个类可以在我的应用程序中访问不同的类。由于这个类是唯一包含所有不同路径值的地方,我在路由文件中实例化它并定义我的路径,如下所示:

    const enums = new MortgageFormEnums();
    export const mortgageFormRoutes = [
    {
     path: 'mortgage',
     component: MortgageComponent,
     children: [
      {
       path: enums.routes.properties[enums.routes.start].url,
       component: StartComponent
      },
      {
       path: enums.routes.properties[enums.routes.whatsUp].url,
       component: WhatsUpComponent
      },
      etc...
    }
    ];

当我使用AoT构建我的prod应用程序时,我收到错误:src \ app \ mortgage \ mortgage-form.module.ts中的错误(42,27):模板编译'MortgageFormModule'时出错函数调用不支持装饰者,但'MortgageFormEnums'被称为'mortgageFormRoutes''mortgageFormRoutes'调用'MortgageFormEnums'。

理想情况下,我想将路径路径保存在一个文件中作为枚举,以便我可以在应用程序的其他部分访问它。有没有办法实现这一点,而不是硬编码路径文件中的路径?

任何建议将不胜感激,谢谢。

angular angular-cli angular2-aot
1个回答
0
投票

装饰器不在运行时,因此您无法在元数据中运行代码。您可以简单地导出变量而不是类并导入它。

export const sharedStuff = { foo:1 };
© www.soinside.com 2019 - 2024. All rights reserved.