javascript – 生成html的角度过滤器

我有一个小的角度过滤器插入(引导)图标代替一个真正的值。
它工作,但html是编码:

  var conApp = angular.module('conApp', []);
  conApp.filter('trueIcon', function($filter){
    return function(booleanValue){
        return booleanValue ? '<i class="icon-ok"></i>' : '';
    }
  });

我必须实现另一个过滤器来解码html吗?
有这样做的“有角度”的方式吗?

最佳答案
您需要使用ng-bind-html来呈现html。

<span ng-bind-html="foo | trueIcon"></span>

这就是说,这不是什么过滤器。过滤器更多地用于擦除正在写入视图的数据,而不是生成视图/ DOM本身的元素。你可能会为此建立一个指令:

app.directive('trueIcon', function() {
   return {
      restrict: 'E',
      template: '<i ng-class="{\'icon-ok\': value, \'icon-not-okay\': !value}"></i>',
      scope: {
         value: '='
      }
   };
});

<true-icon value="foo"></true-icon>

转载注明原文:javascript – 生成html的角度过滤器 - 代码日志