У меня есть рекурсивная угловая директива, которая использует переменную шаблона и скомпилируется в функции 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);
}
}
и
Это потрясающе! Ты мой герой! Могу ли я купить вам кофе? – CodyBugstein
Мне любопытно, можно ли использовать html-привязку (ng-bind-html) внутри «template.html» на вашей иллюстрации? Я не могу заставить его работать. – zhekaus
@zhekaus, да, но вам все равно нужно использовать обычную 'ngSanitize' /' $ sanitize' или иначе использовать '$ sce.trustAsHtml' –