1

这是我在组件中的数据对象

testData=[
  {
    "value": "test value with null formatter",
    "formatter": null,
  },
  {
    "value": "1234.5678",
    "formatter": "number:'3.5-5'",
  },
  {
    "value": "1.3495",
    "formatter": "currency:'USD':true:'4.2-2'",
  }
]

HTML

<div *ngFor="let data of testData">{{data.value | data.formatter}}</div>

我需要以不同格式显示每行的数据表。

我正在使用打字稿/角度4。

4

2 回答 2

2

一种选择是创建自定义管道。然后,您可以将格式字符串传递到您的自定义管道中。您的自定义管道将解析传入的格式化字符串并执行适当的格式化。

这听起来像是可行吗?

于 2017-06-28T01:09:03.883 回答
1

您需要创建管道。

示例(用 N 替换 ?):

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({name: 'nnn'})
export class NReplacePipe implements PipeTransform {
  transform(value: string): string {
   // write your custom logic here
    let newValue = value.replace(/\?/g, 'N');
    return `${newValue}`;
  }
}

然后在你的html代码中使用它

<p>varName |  nnn </p>

这将改变你的输出。

于 2017-06-28T03:33:00.167 回答