在 Angular 中的 *ngFor 中动态应用格式 filter/pipe (Angular 2/4)?

Apply formatting filter/pipe dynamically in *ngFor in Angular (Angular 2/4)?

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

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>

我需要显示 table 数据,每行的格式不同。

我正在使用 typescript/angular4。

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

这听起来行得通吗?

您需要创建管道。

示例(用 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>

这会改变你的输出。