javascript - AngularJS - ngBindHtml 和 'unsafe' html

标签 javascript angularjs

我正在尝试渲染一些不安全的 HTML(基本上是带有一些内联样式的 HTML 片段),并在我的 View 中包含以下代码:

<div ng-repeat="snippet in snippets">
  <div ng-bind-html="snippet.content"></div>
</div>

我的所有样式都被删除了...

我听说有人使用 ngBindHtmlUnsafe,但是我找不到对它的引用,并且简单地放置 ng-bind-html-unsafe 不会呈现任何内容。

如有任何帮助,我们将不胜感激。

最佳答案

ng-bind-html-escape 在 AngularJs 1.2 中被删除。

为了达到相同的效果,我建议您创建一个过滤器来信任资源(您应该包含 $sce module ):

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

用法:

<ELEMENT ng-bind-html="htmlValue | unsafe"></ELEMENT>

您不应该忘记将 ngSanitize 包含为应用程序依赖项:

angular.module('app', ['ngSanitize'])

干杯。

关于javascript - AngularJS - ngBindHtml 和 'unsafe' html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20559070/

相关文章:

javascript - D3 : best way to add new nodes from scratch

javascript - Chart.js - X Axis 刻度

javascript - Angularjs 模块未正确加载

angularjs - ngModel 与 ngSwitch,无法监视字符串变量?

javascript - Node js 从 Angular PUT 调用接收到错误数据

javascript - 有些 JS 加载,有些则不加载

javascript - 将两个不同的参数传递给函数

javascript - Cakephp 中的 HTML 和 JavaScript

javascript - 在 AngularJS 中中止 AJAX 请求

javascript - 复制 $sce 创建的对象并修改其值