Я пытаюсь получить строку, которую я могу редактировать позже (с помощью Textangular или сохранить ее в БД) из шаблона, исходящего с сервера (в БД).AngularJs - Получить строку из скомпилированного HTML/Variable
TemplateMailService.get($scope.type, function (data, status) {
$scope.template = data.template;
// data.template.content = '<p>Hi <span ng-if="client.email == '[email protected]'">{{email}}</span>!</p>'
$timeout(function() {
data.template.content = $compile(data.template.content)($scope);
$log.debug('$scope.mail.content : ', $scope.mail.content);
$log.debug('data.template.content : ', angular.element(data.template.content));
// is compiled correctly. I can see the ng-if apply and the {{variable}} compiled
var string = '';
string += data.template.content[0].innerHTML;
console.log(string);
// => ng-if not apply and {{variable}} not compiled...
$scope.mail.content = string;
}, 0);
})
Я хочу, чтобы иметь возможность сохранить скомпилированный шаблон (со всеми нг-хх и {{переменные}} применяется в строке, чтобы изменить его в textangular.
Я знаю, что я должен делать это с директивой, но я не понимаю, как я могу вернуть скомпилированный шаблон в строке.
То, что я здесь отсутствует?
Спасибо.
Даже если я обернуть скомпилированный шаблон в $ sce.trustAsHtml это еще возвращенный uncompiled ... и ngSanitize уже добавлен в мой проект. Я не хочу отображать строку, я просто хочу, чтобы иметь возможность манипулировать ею после компиляции. – Yousphere
Вы пробовали https://docs.angularjs.org/api/ng/service/$interpolate –