从ng-bind-html加载的指令不会执行

时间:2016-04-25 21:59:33

标签: javascript html angularjs

控制器内部:

$scope.content = $sce.trustAsHtml('<some-directive></some-directive>');

模板:

<!-- Works perfectly -->
<some-directive></some-directive>

<!-- HTML loaded correctly, but the directive inside won't execute -->
<div class="article__main" ng-bind-html="content"></div>

这里到底发生了什么?我如何告诉angular检查DOM是否会通过ng-bind-html添加新指令? BTW,我现在正在测试,指令只是登录到控制台,没有别的。

我在网站的另一个版本(而不是ng-bind-html)上使用了ng-include +一个文件,并且有效。

感谢提前:)

1 个答案:

答案 0 :(得分:0)

您需要使用$ compile服务。

var compiledTemplate = $compile(content)(scope);

您还必须定义父范围。Here is the Doku to $compile

我从未在ng-bind-html上使用过它,但是使用element.append()在DOM上设置它可以正常工作