javascript - 使用 sanitize 将 angularjs 字符串变量转换为 html 元素

标签 javascript angularjs html-sanitizing ngsanitize

AngularJS 代码:

$scope.checking="<div style="color:red;">check</div>";

HTML 代码:

<p ng-bind-html="checking"></p>

所以我为此使用了 $sanitize 和 ng-bind-html 指令来完成工作。

所以html页面的结果是:

check

以上内容应为红色

我得到了输出,但字符串“check”不是红色的!样式标签被忽略!我该怎么做?我使用插值吗?

有什么办法吗?希望它很简单...AngularJS 专家请帮忙!

最佳答案

$sanitize通过剥离所有潜在危险的标记来清理 html 字符串。

所以请使用$sce使其受信任的服务方法 html使用trustAsHtml方法。

$scope.checking= $sce.trustAsHtml("<div style="color:red;">check</div>") ;

关于javascript - 使用 sanitize 将 angularjs 字符串变量转换为 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36827309/

相关文章:

javascript - ng-show 不评估 $scope.foo.name !== 'root' 在 Controller 中动态添加 html

angularjs - 在所有 Angular Controller 中存储用户信息

html - 如何显示根据移动设备更改列数的表格

javascript - 如何在用户单击某个项目后隐藏下拉菜单?

javascript - 如何使用 mongodb 脚本生成 UUID

javascript - 定义 JavaScript 函数

javascript - Angularjs:配置在提供者中使用服务的回调的好方法

shopware - 我们什么时候需要使用 `sw_sanitize` ?

php - 特殊字符破坏 mysql 插入