Javascript 使用指令以角度呈现html

Javascript 使用指令以角度呈现html,javascript,angularjs,compiler-directives,Javascript,Angularjs,Compiler Directives,我将所见即所得编辑器输出的html数据存储在数据库中。html还存储某些指令的html。其中之一是ui引导工具提示: <span tooltip-placement="left" tooltip="On the Left!">Tooltip text here</span> 此处的工具提示文本 通过使用绑定,我可以使任何其他html元素正常工作: <div ng-bind-html-unsafe="html.content"></div>

我将所见即所得编辑器输出的html数据存储在数据库中。html还存储某些指令的html。其中之一是ui引导工具提示:

<span tooltip-placement="left" tooltip="On the Left!">Tooltip text here</span>
此处的工具提示文本
通过使用绑定,我可以使任何其他html元素正常工作:

<div ng-bind-html-unsafe="html.content"></div>

但是带有指令引用的html不会与实际指令交互

我怎样才能让指令生效

我必须编译html或类似的东西吗

Do I have to compile the html or something like that?

是的,你需要编译HTML,因为角度只会考虑如下简单的HTML

<div ng-bind-html-unsafe="html.content"></div>

下面的检查是$compile的文档


是的,因为您试图呈现的标记包含指令,所以您需要编译它,以便它们由Angular处理

您可以为自己创建一个指令:

app.directive('htmlRender', function($compile) {
  return {
    restrict: 'E',
    scope: { html: '@' },
    link: function(scope, element) {
      scope.$watch('html', function(value) {
        if (!value) return;

        var markup = $compile(value)(scope);
        element.append(markup);
      });
    }
  };
});

Plunker。

我成功地制作了一个简单的指令,对给定的html值进行编译,然后简单地将内容放在元素中——编译文档在这方面非常有用