1

我无法让嵌入的内容在我的自定义指令中正确呈现。

以下是示例:

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,这似乎可以正常工作,但如果我有一个包含嵌入内容的自定义指令,它似乎会忽略 $sce.trustAsHtml(),并转义 HTML 内容:

<multiline>{{ example.data1 | newline2br_trust }}</multiline>

我怎样才能让我的指令正确地嵌入这个 HTML 内容?

注意:这似乎与 AngularJS 表达式 + ngTransclude 的 $sce 功能有关,因为原始/静态 HTML 内容适用于 transclude:

<multiline>BrLine1<br/>BrLine2<br/>BrLine3</multiline>
4

0 回答 0