我正在尝试使用ng-bind-html-unsafe属性在模板中插入超文本标记语言。但由于某些原因,它不能工作。
我的代码:
<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,如下所示:
<div ng-bind-html-unsafe="<a class="action_hrefs full-width bgcolor10 purple-hover flat-button flat-white-button btn" data-value="947" href="#"><i class="fa fa-lock"></i> Unlock</a>"></div>发布于 2014-02-17 20:56:17
好的,我找到了解决方案:
JS:
$scope.renderHtml = function(html_code)
{
return $sce.trustAsHtml(html_code);
};HTML:
<p ng-bind-html="renderHtml(value.button)"></p>发布于 2016-03-27 21:49:33
制作一个像这样的过滤器
.filter('trusted',
function($sce) {
return function(ss) {
return $sce.trustAsHtml(ss)
};
}
)并将其作为过滤器应用于ng-bind-html,如下所示
<div ng-bind-html="code | trusted">https://stackoverflow.com/questions/21829275
复制相似问题