使用具有整数作为键的对象在AoT中编译时出错

时间:2018-03-05 03:39:01

标签: javascript angular angular-cli

我有一个枚举文件,其中包含对象中的所有路径路径,如下所示:

export const mortgageFormEnum = {
 routes: {
    start: 0,
    whatsUp: 1,
    refinance: 17,
    newAddress: 19,
    deposit: 2,
    addBorrower: 3,
    primaryIncome: 4,
    secondaryIncome: 5,
    properties: {
      0: { url: '', name: 'Start' },
      1: { url: 'whats-up', name: 'Whats Up' },
      2: { url: 'deposit', name: 'Deposit' },
      3: { url: 'add-borrower', name: 'Add Borrower' },
      4: { url: 'primary-income', name: 'Primary Income' },
      5: { url: 'secondary-income', name: 'Secondary Income' }
    }
  }
}

当我使用AoT编译时,我收到此错误:

  

< MortgageFormModule'模板编译期间出错名字预期   in' mortgageFormRoutes'       ' mortgageFormRoutes' reference' mortgageFormEnum'在src \ app \ mortgage \ mortgage-form.routes.ts(50,11)         ' mortgageFormEnum'包含src \ app \ mortgage \ shared \ mortgage-form.enums.ts(27,7)中的错误。

基本上错误指向属性对象并抱怨我使用整数作为键而不是名称。 这是一个错误吗?或者我该如何解决这个问题呢?这个枚举文件包含许多其他具有属性对象的枚举(所以我可以将从服务器返回的值映射到它的标题等),虽然不适用于我的路由,但是适用于其他对象,所以我可以'删除它,在任何情况下都可以使用整数作为键来定义javascript对象,所以我不知道编译器为什么抱怨...... :(

1 个答案:

答案 0 :(得分:0)

我将此提交给angular-cli团队,这似乎是一个错误。

供参考:

https://github.com/angular/angular-cli/issues/9890