0

我有一个指令,其模板只是<div ng-bind-html="myhtml"></div>. 但是myhtml使用指令的范围。

我不能得到这个工作。

示例:小提琴

4

2 回答 2

1

基本上这不是 bind-html 的用途,当您希望将 html 动态添加到您的应用程序时,您需要检查$compile。这与其他人指出的错字相结合。我创建了一个显示您的解决方案的小提琴:

link: function(scope, elt, attrs) {
    var element = angular.element(scope.myhtml);
    var test = $compile(element)(scope);
    elt.append(test);
}

希望这有帮助!

于 2014-02-19T07:55:30.530 回答
0

由于您没有引用预期结果,我假设您希望您的指令至少显示控制器范围内的某些内容。

主要是,您已经像这样定义了您的指令:

.directive('testDirective',

这很好,但是您按如下方式引用它:

<testDirective myvar="myvar" myhtml="myhtml" />

这是不行- 你应该引用你的指令test-directive而不是testDirective这有效

<test-directive myvar="myvar" myhtml="myhtml" />
于 2014-02-13T14:45:17.703 回答