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

角度ng-bind-html和其中的指令

邓宜年
2023-03-14
问题内容

plnkr链接

我有一个我想将html绑定到它的元素。

<div ng-bind-html="details" upper></div>

这样可行。现在,连同它,我还有一个绑定到绑定的html的指令:

$scope.details = 'Success! <a href="#/details/12" upper>details</a>'

但是upper带有div和anchor 的指令不求值。我该如何运作?


问题答案:

我也遇到了这个问题,经过几个小时的互联网搜索,我读到了@Chandermani的评论,事实证明这是解决方案。您需要使用以下模式调用“编译”指令:

HTML:

<div compile="details"></div>

JS:

.directive('compile', ['$compile', function ($compile) {
    return function(scope, element, attrs) {
        scope.$watch(
            function(scope) {
                // watch the 'compile' expression for changes
                return scope.$eval(attrs.compile);
            },
            function(value) {
                // when the 'compile' expression changes
                // assign it into the current DOM
                element.html(value);

                // compile the new DOM and link it to the current
                // scope.
                // NOTE: we only compile .childNodes so that
                // we don't get into infinite loop compiling ourselves
                $compile(element.contents())(scope);
            }
        );
    };
}])

您可以在这里看到它的工作提琴



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

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

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

  • 问题内容: 我有一种情况,我想在创建的DOM上运行自定义指令。 基本上,我必须自定义html标记的行为,因为正在加载的html是不安全的,并且当用户单击链接时,我必须在jqLit​​e事件发生之前执行某些功能。 因此,我最初的想法是创建一个指令,该指令会修改我放置指令属性的容器内部任何容器的行为。 正常工作,直到与结合使用,我的指令在将字符串编译为html并附加到DOM 之前运行。 那么,在运行之

  • 问题内容: 我参加了一次有角度的演讲,会议中提到的一位参加者胜于束缚。 原因之一是将变量放在监视列表中,并且仅当发生模型更改时,才将数据推送到视图中查看;另一方面,每次都会对表达式进行插值(我想这是角周期)并推送值,即使值更改与否。 也有人说,如果屏幕上没有太多数据,则可以使用,并且性能问题将不可见。有人可以帮我阐明一下这个问题吗? 问题答案: 如果您没有使用,则类似以下内容: 您可能会在解决之前

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