当前位置: 首页 > 面试题库 >

删除ng-bind-html-unsafe后,如何注入HTML?

都浩淼
2023-03-14
问题内容

我正在尝试使用$sanitizeprovider和ng-bind-htm-unsafe指令来允许我的控制器将HTML注入DIV。

但是,我无法使其正常工作。

<div ng-bind-html-unsafe="{{preview_data.preview.embed.html}}"></div>

我发现这是因为它已从AngularJS中删除(谢谢)。

但是没有ng-bind-html-unsafe,我得到这个错误:

http://errors.angularjs.org/undefined/$sce/unsafe


问题答案:
  1. 您需要确保已加载sanitize.js。例如,从https://ajax.googleapis.com/ajax/libs/angularjs/[LAST_VERSION]/angular-sanitize.min.js加载它
  2. 您需要ngSanitize在您的app 示例中包含模块:var app = angular.module('myApp', ['ngSanitize']);
  3. 您只需要绑定ng-bind-html原始html内容即可。无需在控制器中执行任何其他操作。ngBindHtml指令自动完成解析和转换。(请阅读本How does it work节的内容:$ sce)。因此,在您的情况下<div ng-bind-html="preview_data.preview.embed.html"></div>就可以完成工作。


 类似资料:
  • 问题内容: 我曾经能够用来输出未经消毒的代码(因为消毒发生在服务器端)。 但是现在这个选择消失了吗?我知道我可以使用,但是当不安全易于使用时,将其添加到整个JavaScript上将是一个巨大的痛苦。 我怎么不安全回来? 问题答案: 好吧,仅创建您自己的指令非常简单,这是一个示例。 指令 : 用法 : 演示: http ://jsfiddle.net/cC5VZ/2

  • 问题内容: 我想知道ng-bind-html和bind-html-compile指令之间的区别。例如我给 到ng-bind-html,这会剔除bind-html-compile所没有的样式。我可以知道何时应该使用每个指令。谢谢。 问题答案: bind-html-compile 不是标准的Angular指令,它带有模块https://github.com/incuna/angular- bind-h

  • 问题内容: 我有指令 控制器: 在索引页面上,我有: 每当包含不同的html时,我的自定义服务都会返回 我想做的是每次在指令的内容中推送不同的值以对其进行编译并将其放入html并处理控制器中的click函数时。因为我是AngularJS的新手,所以一段时间以来一直在努力解决这个问题。请帮忙。 问题答案: 您不需要处理$ sce即可达到目的。 您可以将as字符串传递给指令。在指令中编译后,它将起作用

  • 问题内容: 我正在尝试将HTML存储在范围变量内,然后在模板视图中使用它。当我以角度阅读如何做时,我遇到了。在这方面,我注意到当我将HTML标签与,等绑定时,它可以工作。但是我无法为其添加标签。 意思是,这有效: 模板: 但这不起作用: 模板: 上面只是一个简化的示例,仅用于演示目的。我的问题是: 1)标签不能与ng-bind-html指令一起使用吗? 2)如果没有,我如何html绑定输入标签,以

  • 问题内容: 我需要一些使用ng-bind-html创建的ng-model的帮助。我在服务器中有一个JSON文件,其中有一些html和一些类似的输入: .json 然后,在我的HTML文件中,我会看到以下内容: 在我的Angular控制器中,我有一个JSON文件的ajax调用: 控制器: 填充了html,但是我不能将$ watch用于通过这种方法生成的模型(q)。 我如何监视以此方式创建的模型的变化

  • 问题内容: 我正在使用angularjs 1.2.0-rc.3。我想将html代码动态地包含到模板中。为此,我在控制器中使用: 在模板中,我得到了: 它适用于常规html代码。但是,当我尝试放置角度模板时,它不会被解释,它仅包含在页面中。例如,我想包括: 非常感谢 问题答案: 此解决方案不使用硬编码模板,您可以编译嵌入在API响应中的Angular表达式。 步骤1. 安装此指令:https : /