首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular JS在标记内显示HTML

问Angular JS在标记内显示HTML
EN

Stack Overflow用户
提问于 2014-02-17 20:34:55
回答 2查看 29.2K关注 0票数 34

我正在尝试使用ng-bind-html-unsafe属性在模板中插入超文本标记语言。但由于某些原因,它不能工作。

我的代码:

代码语言:javascript
复制
<tr class="white two-button" ng-repeat="(key,value) in recommendations | ojoScoreFilter:ojoScore | relevancyScoreFilter:relevancyScore | orderBy:predicate:reverse">
<td>
<div ng-bind-html-unsafe="value.button"></div>
</td>
</tr>

我看不到HTML。如果我将ng-bind-html-unsafe="value.button"改为ng-bind-html-unsafe="{{value.button}}",那么它会在属性中显示HTML,如下所示:

代码语言:javascript
复制
<div ng-bind-html-unsafe="&lt;a class=&quot;action_hrefs full-width bgcolor10 purple-hover flat-button flat-white-button btn&quot; data-value=&quot;947&quot; href=&quot;#&quot;&gt;&lt;i class=&quot;fa fa-lock&quot;&gt;&lt;/i&gt;&nbsp;Unlock&lt;/a&gt;"></div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 20:56:17

好的,我找到了解决方案:

JS:

代码语言:javascript
复制
$scope.renderHtml = function(html_code)
{
    return $sce.trustAsHtml(html_code);
};

HTML:

代码语言:javascript
复制
<p ng-bind-html="renderHtml(value.button)"></p>
票数 123
EN

Stack Overflow用户

发布于 2016-03-27 21:49:33

制作一个像这样的过滤器

代码语言:javascript
复制
.filter('trusted',
   function($sce) {
     return function(ss) {
       return $sce.trustAsHtml(ss)
     };
   }
)

并将其作为过滤器应用于ng-bind-html,如下所示

代码语言:javascript
复制
<div ng-bind-html="code | trusted">
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21829275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档