如何将Angular2管道应用于动态内容?

时间:2016-05-03 13:48:43

标签: javascript angularjs angular angular2-pipe

我需要应用管道(转换)来格式化通过API提供的动态内容。数据实际上是通过自定义格式化程序应用的,该格式化程序基本上绑定到元素上的[innerHTML]。问题是我附加的管道根据需要不适用。

例如,我收到以下值 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 个答案:

答案 0 :(得分:1)

Angular不会以任何方式处理[innerHtml]="..."添加的内容。它只是按原样传递给浏览器。