我正在我的$scope
变量中设置一些html文本,该变量也包含ng-click
属性,以便点击链接时会调用角度控制器函数。
$scope.message = "dum messge<a data-ng-click='loadCalenderData()'>retry</a>";
//view
<div ng-bind-html="message"></div>
我尝试了data-ng-click
和ng-click
,但没有运气。
答案 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>
如果您希望它依赖于其他东西,只需使用不同的范围变量