我有一个递归的Angular指令,使用模板变量并在link
函数中编译。
问题是,我的模板已经变得非常长而且难以控制,我想将它外部化到一个外部HTML文件中(这也会让自动缩进更容易)。
如何将外部模板加载到指令中,以便可以在$compile
内使用?
我看到过templateURL
,但这不能让我命名该变量并将其传递给$compile
函数。
var template =
"<p>My template</p>"+
"<this-directive val='pass-value'></this-directive>";
return {
scope: {
...
},
...
link: function(scope, element){
element.html(template);
$compile(element.contents())(scope);
}
}
ngSanitize
/$sanitize
或者使用$sce.trustAsHtml
。 - New Dev