2016-05-03 35 views
0

我需要應用管道(轉換)來格式化通過API提供的動態內容。數據實際上是通過一個自定義的格式化程序來應用的,該格式化程序基本上綁定到元素上的[innerHTML]。問題是我追加的管道不適用,根據需要。如何將Angular2管道應用於動態內容?

例如,我收到了下面的值AB123456D(英國國家社會保險號),我想,像這樣AB 12 34 45 d

在我身上施加的限制是顯示它數據被格式化並通過使用[innerHTML]的綁定插入到模板中。

// template 
<span *ngSwitchWhen="'html'" [innerHTML]="display"></span> 


// helper function 
display(): string { 
    ... 
    return this.column.formatter.replace(/\{([^}]*)\}/g, (match, id) => _.get(this.data, id)); 
    ... 
} 

// formatter looks like this and my pipe's name is `ni` 
<div>{niNum} | ni</div> 

在呈現時,我看到下面的...

AB123456D | ni 

當我想/希望看到...

AB 12 34 45 D 

任何想法如何可以做到這一點,或是否有可能?

回答

1

Angular不以任何方式處理由[innerHtml]="..."添加的內容。它只是傳遞給瀏覽器。

+0

謝謝。任何想法,方法,將工作?我可以對模板實現進行更改,但不能使用格式化程序。 –

+0

在發送到[[innerHtml] =「...」'之前,必須準備好HTML字符串。我不知道更好的方法。 –