在过滤器中注入HTML - angularJS

时间:2014-03-20 16:21:41

标签: javascript html css angularjs filter

我正在尝试构建一个角度应用程序,其中显示国家/地区列表。 在我的数据库中,列出的国家没有文章(即"美国和#34;而不是"美国和#34;)

我怎么想在一个段落中显示它们,所以我创建了一个过滤器来纠正这个:

startupjobsApp.filter('countryFilter', function() {
  return function(input) {
    switch(input)
    {
    case 'United Kingdom':
        return 'the ' + input;
    case 'United States':
        return 'the ' + input;
    default:
        return input;
    }
  };
});

我使用以下代码显示它们:

<span class="content">
         <p>bla bla bla bla in <span>{{job.country | countryFilter}}</span></p>
</span>

我的问题是我的span的字体颜色与段落的其他部分不同。我曾想过在过滤器中注入<span>(返回&#39; <span>&#39; +输入+ </span>;)但HTML未编译。

我该怎么做?

由于

1 个答案:

答案 0 :(得分:0)

如果要将HTML注入过滤器,可以:

我相信你需要下载angular-sanitize。 (http://docs.angularjs.org/api/ngSanitize/service/ $ sanitize和http://code.angularjs.org/1.2.9/

<span class="content">
     <p>bla bla bla bla in <span ng-bind-html="job.country | countryFilter"></span></p>
</span>

startupjobsApp.filter('countryFilter', function() {
  return function(input) {
    switch(input)
    {
    case 'United Kingdom':
        return '<span>the ' + input +'</span>';
    case 'United States':
        return '<span>the ' + input  +'</span>';
    default:
        return input;
    }
  };
});