小编Pav*_*nko的帖子

如何创建输出HTML的angularjs过滤器

在阅读AngularJS教程步骤9之后, 我创建了自己的AngularJS过滤器,它应该将布尔数据转换为html.

这是我的过滤器代码:

angular.module('phonecatFilters', []).filter('iconify', function () { // My custom filter
    return function (input) {
        return input ? '<i class="icon-ok"></i>' : '<i class="icon-remove"></i>';
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我的HTML代码:

<dt>Infrared</dt>
  <dd>{{phone.connectivity.infrared | iconify }}"></dd>
Run Code Online (Sandbox Code Playgroud)

问题是borwser显示返回值的字面意思如下:

<i class="icon-ok"></i>
Run Code Online (Sandbox Code Playgroud)

不应该出现的图标(或渲染的html).

这是JSFiddle的例子

我认为在这个过程中会发生一些消毒.

是否可以针对此特定过滤器关闭此消毒功能?

另外我知道如何通过不从过滤器返回HTML输出来显示图标,而只是'ok'或'remove'文本然后我可以替换为:

<i class="icon-{{phone.connectivity.infrared | iconify}}"><i>
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的.

angularjs

89
推荐指数
3
解决办法
8万
查看次数

标签 统计

angularjs ×1