$ http响应中的Angular指令

时间:2016-02-23 06:33:02

标签: javascript angularjs

Angular 1.5

我的$ http数据服务也返回带有指令的html编码文本,例如文本中的ng-click。

我需要显示html并激活ng-click指令。

要显示我这样做并且它有效,但是ng-clicks不起作用:

 <div class="mt10" ng-repeat="row in aqdas.Paragraphs" ng-cloak>
    <span  ng-bind-html="TrustDangerousSnippet(row.Text)" >
         {{row.Text}}
    </span>
</div>

这是TrustDangerousSnippet:

    $scope.TrustDangerousSnippet = function (text) {
        var val = $sce.trustAsHtml(text);
        return val;
    };

如何编辑TrustDangerousSnippet,以便在$ http下载代码后打开文本中的ng-click?

2 个答案:

答案 0 :(得分:2)

将此指令也与您的代码一起使用。在指令中绑定html元素使用complie。它会工作..

.directive('compile', ['$compile', function ($compile) {
    return function(scope, element, attrs) {
      scope.$watch(
        function(scope) {
           return scope.$eval(attrs.compile);
        },
        function(value) {
           element.html(value);
           $compile(element.contents())(scope);
        }
    );
  };
}])

答案 1 :(得分:1)

我添加了包含Suresh的指令,并将HTML更改为这样,现在可以使用了。 (添加&#39;编译&#39;到绑定元素)

<div class="mt10" ng-repeat="row in aqdas.Paragraphs" ng-cloak>
<span  compile ng-bind-html="TrustDangerousSnippet(row.Text)" >
     {{row.Text}}
</span>
</div>