我可以从管道调用Angular2管道吗?

时间:2016-11-16 13:57:16

标签: angular typescript

我从服务器返回一个包含列数组的对象及其定义和行数组。我想在构建HTML表时迭代列和行,并根据使用"格式"返回的列类型格式化单元格。管。

例如

WS响应:

{
  "columns" [{"precision":10,"name":"PAGES","typeName":"INTEGER","scale":0...,
  "rows":[{"PAGES":6531....}, [{"PAGES":6531....}]
}

HTML片段:

<tr *ngFor="let row of invoices?.rows">
  <td *ngFor="let column of invoices?.columns>
    {{row[column.name] | format : column}}
  </td>
</tr>

我的格式是否有任何形式&#34;管道可以只是作为一个委托者到正确的内置管道(一个退出),具体取决于列的类型?我不想重新实现DecimalPipe,DatePipe等等。

1 个答案:

答案 0 :(得分:6)

是的,你可以调用管道 - 只需实例化它们并拨打transform

transform(cell: any, column: any): any {
    if (column.typeName === "INTEGER") {
        let pipe = new DecimalPipe();
        return pipe.transform(cell, "1.0-0");
    }
    // more here ...
}