2017-06-28 98 views
0

這是在組分在Angular(Angular 2/4)的* ngFor中動態應用格式化過濾器/管道?

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> 

我需要顯示的數據的表,在不同格式的每一行我的數據對象。

我正在使用typescript/angular4。

回答

1

一種選擇是創建自定義管道。然後,您可以將格式化字符串傳遞到您的自定義管道中。您的自定義管道將解析傳入的格式化字符串並執行相應的格式設置。

這聽起來像它可能工作?

+0

謝謝你這個作品,我創造了一些類似於你的建議。 –

0

您需要創建管道。

樣品(以取代N 2):

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> 

這將改變你的輸出使用。