Javascript 使用指令以角度呈现html
我将所见即所得编辑器输出的html数据存储在数据库中。html还存储某些指令的html。其中之一是ui引导工具提示: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>
<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值进行编译,然后简单地将内容放在元素中——编译文档在这方面非常有用