我尝试使用管道格式化数据。对于标题和字段名称,我使用从typescript传入的数组,它非常好用。问题是当我尝试从同一个数组传入字段类型时,angular不接受它。
错误是:
Error: Uncaught (in promise): Template parse errors:
Parser Error: Unexpected token '[' at column 23 in [{{tran[col.field] | tran[col.type]}}] in Transaction@27:79
("et tran of _trans"><td class="text-navy" *ngFor="let col of cols">[ERROR ->]
{{tran[col.field] | tran[col.type]}}</td>
打字稿代码:
private cols;
this.cols = [
{ field: "DateCreated", header: "Date", type: "date" },
{ field: "Name", header: "Customer", type: "string" },
{ field: "Amount", header: "Amount", type : "money" }
];
Angular2代码:
<thead>
<tr>
<th *ngFor="let col of cols">{{col.header}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let tran of _trans">
<td class="text-navy"
*ngFor="let col of cols">
{{tran[col.field]
| col.type <--- here's the problem!}}
</td>
</tr>
</tbody>
编辑:我只是试图{{tran [col.field] + col.type}}没有错误,它显示我的数据类型名称和值。当我把|时,问题就开始了在中间...
答案 0 :(得分:0)
<强>更新强>
如果您想按数据提供管道,那么这样的事情应该有效:
<td class="text-navy"
*ngFor="let col of cols">
{{col.type.tranform(tran[col.field])}}>
<强>原始强>
您缺少管道名称,并且管道的参数已添加:
{{value | pipe:param}}
这也有效
{{value | pipe:param[propName]}}