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



我有一个指令,其模板只是<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" />

最新更新