我想将具有自定义样式的html字符串绑定到DOM。但是ngSanitize从字符串中删除样式。
ngSanitize
例如:
在控制器中:
$scope.htmlString = "<span style='color: #89a000'>123</span>!";
在DOM中:
<div data-ng-bind-html="htmlString"></div>
将省略样式属性。结果将如下所示:
<div data-ng-bind-html="htmlString"><span>123</span>!</div>
代替:
<div data-ng-bind-html="htmlString"><span style='color: #89a000'>123</span>!</div>
问题: 如何实现?
正如已经提到过的@Beyers,您必须使用$sce.trustAsHtml(),将其直接用于DOM中,您可以像这样在JS / controller部分中这样做:
$sce.trustAsHtml()
$scope.trustAsHtml = function(string) { return $sce.trustAsHtml(string); };
在DOM / HTML部分
<div data-ng-bind-html="trustAsHtml(htmlString)"></div>