ngsanitize删除了ng-click

时间:2016-11-04 20:43:06

标签: angularjs

我正在我的$scope变量中设置一些html文本,该变量也包含ng-click属性,以便点击链接时会调用角度控制器函数。

$scope.message = "dum messge<a data-ng-click='loadCalenderData()'>retry</a>";

//view
<div ng-bind-html="message"></div>

我尝试了data-ng-clickng-click,但没有运气。

2 个答案:

答案 0 :(得分:2)

因为它不是$编译的。当你绑定-html时,它并不告诉Angular搜索HTML并在其中编译指令。您需要一个自定义指令。

点击此链接https://www.reddit.com/r/angularjs/comments/312mbg/ngclick_on_element_inserted_using_ngbindhtml_not/

答案 1 :(得分:1)

这是ng-sanitize的工作,以防止在页面上呈现任何未经授权的标记或脚本。

这是一种更简单的机制,可将错误消息与标记/功能分开:

//view
<div ng-bind-html="message">
<a data-ng-click='loadCalenderData()' ng-show="message">retry</a>

如果您希望它依赖于其他东西,只需使用不同的范围变量