使用$ sce.trustAsHtml后,ng-click无法正常工作

时间:2016-08-22 20:10:19

标签: javascript angularjs

我正在尝试使用angular打印到屏幕自定义html。我正在将$sce.trustAsHtmlng-bind-html结合使用来实现此目的。目标不仅是能够打印这个自定义html,而且它将保留诸如ng-click之类的指令,它们将是可用的。我在以下文章中看到的例子很有希望:

AngularJS render HTML within double curly brace notation

然而,在我的实现中,我发现尽管html正确呈现包括对ng-click的引用,但当试图点击我正在使用它的链接时,该指令似乎不再起作用;这是一些示例代码:

$scope.htmlExpression = $sce.trustAsHtml("<a ng-click='test();'>Click Me</a>");

$scope.test = function() {
    console.log('Hello World!');
}

<div>
  <p ng-bind-html="htmlExpression"></p>
</div> 

因为一切都很好,分析源时翻译中没有任何东西丢失;我感觉好像离开了一些东西。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

使用https://docs.angularjs.org/api/ngSanitize并绑定html。如果这不起作用,$ digest重新启动摘要周期。