ng-bind-html指令在渲染时删除样式属性

时间:2014-03-15 11:42:47

标签: html angularjs

写作时

 <div ng-bind-html="slideContent"></div>

其中

    this.$scope.slideContent = 
this.$sce.trustAsHtml("<img src='1.jpg' style='width: 231px'></img>");

angular删除样式属性,因此图像具有初始大小。 你怎么看?我怎么能避免这个?

谢谢!

3 个答案:

答案 0 :(得分:4)

在html标签中使用ng-bind-html =“trustedHtml(resultList.section)” 并把这个功能控制器

$scope.trustedHtml = function (plainText) {
      return $sce.trustAsHtml(plainText);
}
<div ng-bind-html="trustedHtml(resultList.section)"></div>

答案 1 :(得分:2)

请注意,ng-bind-html-unsafe已从Angular中删除。 我宁愿创建一个过滤器,而不是向范围添加一个函数,以避免范围污染并提高代码的可重用性:

app.filter('unsafe', ['$sce', function ($sce) {
    return function (input) {
        return $sce.trustAsHtml(input);
    }
}]);

无需在范围内编写任何内容,只需在模板上添加过滤器:

<div ng-bind-html="resultList.section | unsafe"></div>

答案 2 :(得分:0)

使用ng-bind-html-unsafe代替。但请注意不要将其与用户提供的输入一起使用。