一尘不染

AngularJS:以自定义样式绑定html字符串

angularjs

我想将具有自定义样式的html字符串绑定到DOM。但是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>

问题: 如何实现?


阅读 239

收藏
2020-07-04

共1个答案

一尘不染

正如已经提到过的@Beyers,您必须使用$sce.trustAsHtml(),将其直接用于DOM中,您可以像这样在JS /
controller部分中这样做:

$scope.trustAsHtml = function(string) {
    return $sce.trustAsHtml(string);
};

在DOM / HTML部分

<div data-ng-bind-html="trustAsHtml(htmlString)"></div>
2020-07-04