* ngFor数组中的两个值

时间:2016-06-09 02:40:41

标签: arrays foreach typescript angular

Plunker

我尝试使用管道格式化数据。对于标题和字段名称,我使用从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}}没有错误,它显示我的数据类型名称和值。当我把|时,问题就开始了在中间...

1 个答案:

答案 0 :(得分:0)

<强>更新

如果您想按数据提供管道,那么这样的事情应该有效:

<td class="text-navy"
  *ngFor="let col of cols">
  {{col.type.tranform(tran[col.field])}}>

<强>原始

您缺少管道名称,并且管道的参数已添加:

{{value | pipe:param}}

这也有效

{{value | pipe:param[propName]}}