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

ng-bind-html与bind-html-compile?

高兴贤
2023-03-14
问题内容

我想知道ng-bind-html和bind-html-compile指令之间的区别。例如我给

<p style='color:red'>test<p>

到ng-bind-html,这会剔除bind-html-compile所没有的样式。我可以知道何时应该使用每个指令。谢谢。


问题答案:

bind-html-compile 不是标准的Angular指令,它带有模块https://github.com/incuna/angular-
bind-html-compile
并用于编译绑定的数据。等同于在源代码中编写html:它将重新评估,并且如果找到其他指令,它们将按预期工作。

ng-bind-html 是标准指令(与Angular捆绑在一起),仅输出html字符串 而不进行编译

例如,如果您的控制器具有纯html变量,例如:

$scope.dataToDisplay = '<h1><strong>Title</strong></h1>';

然后,您可以继续使用ng-bind-html

如果您需要使用其他指令来注入包含html的变量,例如:

$scope.dataToDisplay = '<h1 ng-show="showIfOtherVariable"><strong>Title</strong></h1>';

那么你需要前面提到的模块。



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

  • 问题内容: 我有一些要从json文件加载的html数据。 我通过在应用程序中使用ngSanitize并使用ng-bind-html来显示此html数据。 现在我想从标准转换json blob中的任何链接 至: 。 所以我在json文件上做了一些regExp来转换链接,但是出于某种原因,但是ng-bind-html过滤掉了ng- click的输出,我不知道为什么。是否应该这样做,如果可以,可以禁用此

  • 问题内容: 我正在尝试使用provider和指令来允许我的控制器将HTML注入DIV。 但是,我无法使其正常工作。 我发现这是因为它已从AngularJS中删除(谢谢)。 但是没有,我得到这个错误: http://errors.angularjs.org/undefined/$sce/unsafe 问题答案: 您需要确保已加载sanitize.js。例如,从https://ajax.googlea

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

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

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