Angular4数据表-属性'$键';不存在
我在这里使用Angular 4数据表,这是我在ProductsComponent.html中的代码:Angular4数据表-属性'$键';不存在,angular,Angular,我在这里使用Angular 4数据表,这是我在ProductsComponent.html中的代码: <data-table [items]="items" [itemCount]="itemCount" (reload)="reloadItems($event)"> <data-table-column [property]="'title'" [header]="'Title'" [sortable]="true" [resizable]="true">&l
<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>
{{item.price}货币:'USD'}
编辑
datatable可以很好地呈现所有数据,浏览器不会显示任何错误,编译过程中也不会显示任何错误。但是,当我运行一个ng build--prod时,我看到以下错误消息,生成失败。类型“ProductsComponent”上不存在属性“$key”。我很难调试它,因为我在测试时没有看到错误-有什么想法吗?可能只是在component.ts文件中的变量“$key”上没有设置“public” 这部分代码:
[属性]=“$key”
一旦[]中包含属性/属性,将立即计算分配给它的值,例如:
计算结果为“a string”[property]=“a string”
查找名为$key的变量,以便将$key的值绑定到属性[property]=“$key”
[property]=“$key”
有更多信息。属性定义中的$key需要用引号括起来,因为我没有显式引用组件中的属性,而是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>
编辑
[$key]是由datatable定义的,我不会在任何地方显式声明它。如果您确定它是由datatable定义的,请查看您的前2个数据表列,也许您应该通过这样做[$key],将$key用引号括起来,例如['$key']您正在尝试评估$key的值,这就是我最初认为您在component.ts文件中将$key声明为变量的原因,请下次提供一个plunker,以便我们可以测试您的代码