Angular4 数据表 - 属性"$key"不存在



我正在使用https://github.com/mit9/angular-4-data-table的Angular 4 DataTable,这是我的productscomponent.html中的代码:

<data-table [items]="items" [itemCount]="itemCount" 
(reload)="reloadItems($event)">
  <data-table-column [property]="'title'" [header]="'Title'" [sortable]="true" [resizable]="true"></data-table-column>
  <data-table-column [property]="'price'" [header]="'Price'" [sortable]="true" [resizable]="true">
    <ng-template #dataTableCell let-item="item">
      {{ item.price | currency:'USD'}}
    </ng-template>
  </data-table-column>
  <data-table-column [property]="$key">
    <ng-template #dataTableCell let-item="item">
      <a [routerLink]="['/admin/products/', item.$key]">Edit</a>
    </ng-template>
  </data-table-column>
</data-table>

数据表使所有数据都很好,浏览器没有显示任何错误,并且在 ng服务过程中的编译也不显示。但是,当我运行 ng构建时-prod 时,我会看到以下错误消息,并且构建失败。属性" $ key"在类型" productsComponent"上不存在。我很难调试此问题,因为我在测试时看不到错误 - 这里发生了什么事?

属性定义中的$键需要用引号包裹,因为我不是从我的组件中明确引用属性,而是从json对象引用的字符串属性。

  <data-table-column [property]="'$key'">
    <ng-template #dataTableCell let-item="item">
      <a [routerLink]="['/admin/products/', item.$key]">Edit</a>
    </ng-template>
  </data-table-column>

它可能只是一个在component.ts file

中未在变量'$键上设置'public'的情况

您代码的这一部分: [property]="$key"

一旦您拥有[]中包含属性/属性,将评估分配给其的值,例如。

  • [property] = "'a string'"评估"字符串"
  • [property] = "$key"寻找一个名为$键的变量,以便将$键的值绑定到属性

您可能缺少诸如[property]="'$key'"

之类的报价

Angular Docs有更多信息。

相关内容

最新更新