• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

NG绑定,HTML显示未关闭的标签

JavaScript 来源:user123 3次浏览

我想实现一些文本这凸显如果它们存在哪些内容的搜索字符的搜索功能。不过,我遇到了一些奇怪的情况,其中某些字符(<)未被显示。NG绑定,HTML显示未关闭的标签

在我的模板,我有:

<span ng-bind-html="action.text | highlight: search.criteria.text:(!search.excludeScenesAndActions && search.active)"></span> 

这是我的过滤器:

filters.filter('highlight', function() { 
    return function (text, search, enabled, caseSensitive) { 
     if (typeof (enabled) === 'undefined') 
      enabled = true; 

     if (enabled && text && (search || angular.isNumber(search))) { 
      text = text.toString(); 
      search = search.toString(); 

      if (caseSensitive) { 
       return text.split(search).join('<span class="search-match">' + search + '</span>'); 
      } else { 
       return text.replace(new RegExp('(' + search + ')', 'gi'), '<span class="search-match">$&</span>'); 
      } 
     } else { 
      return text; 
     } 
     }; 
    } 
); 

,我遇到的问题是在模板中ng-bind-html,如果我的文字是例如<foo>bar <foo ,它将显示为bar,因为我试图呈现<foo><foo标记。我试图给我们ng-bind伟大的工程,但是我想实际渲染<span>即是

===========解决方案如下:

包括angular-sanitize.min.js文件在您index.html,并添加要在其中创建模块,是一个angular.module('appName', ['ngSanitize'])应用依赖性。就是这样,它会正常工作。只要确保你的返回值是正确的


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)