angularjs指令模板,其中包含ng-bind-html,它使用指令范围

时间:2014-02-13 14:37:27

标签: angularjs angularjs-directive ng-bind-html

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

我无法完成这项工作。

示例:fiddle

2 个答案:

答案 0 :(得分:1)

基本上这不是bind-html的用途,当你想要动态地将html添加到你的应用程序时,你需要查看$compile。这与其他人指出的拼写错误相结合。我创建了一个fiddle来显示您的解决方案:

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

希望这有帮助!

答案 1 :(得分:0)

由于您没有引用预期的结果,我假设您希望您的指令至少从Controller的范围中显示

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

.directive('testDirective',

这很好,但是你引用它如下:

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

This is not OK - 您应该使用test-directive而不是testDirectivethis works来引用您的指令:

<test-directive myvar="myvar" myhtml="myhtml" />