我无法在我的自定义指令中正确呈现已转换的内容。
以下是示例:
http://plnkr.co/edit/mvx5GuMrPcUPJbrOCKbD
来自外部来源的内容包含换行符(\n
),我想使用过滤器将换行符替换为<br>
HTML标记。
app.filter('newline2br_trust', ['$sce',
function($sce) {
return function(input) {
return input ? $sce.trustAsHtml(input.replace(/\n/g, '\n<br/>')) : '';
};
}
]);
如果我在单个元素上使用ng-bind-html,这似乎可以正常工作,但如果我有一个带有transcluded内容的自定义指令,它似乎忽略$ sce.trustAsHtml(),并转义HTML内容:
<multiline>{{ example.data1 | newline2br_trust }}</multiline>
如何让我的指令正确转换此HTML内容?
注意:似乎是使用AngularJS表达式+ ngTransclude的$ sce功能,因为原始/静态HTML内容与transclude一起正常工作:
<multiline>BrLine1<br/>BrLine2<br/>BrLine3</multiline>