我有一个指令,其模板只是<div ng-bind-html="myhtml"></div>
。但myhtml
使用指令的范围。
我无法完成这项工作。
示例:小提琴
基本上这不是
bind-html 的用途,当您希望动态地将 html 添加到您的应用程序中时,您需要查看$compile。这与其他人指出的错别字相结合。我创建了一个小提琴来显示您的解决方案:
link: function(scope, elt, attrs) {
var element = angular.element(scope.myhtml);
var test = $compile(element)(scope);
elt.append(test);
}
希望这有帮助!
由于您没有引用预期结果,因此我假设您希望指令至少显示控制器范围内的某些内容。
主要是,您像这样定义指令:
.directive('testDirective',
这很好,但是您按如下方式引用它:
<testDirective myvar="myvar" myhtml="myhtml" />
这是不行的 - 您应该使用 test-directive
而不是 testDirective
引用您的指令,这有效:
<test-directive myvar="myvar" myhtml="myhtml" />