Когда пользователь нажимает кнопку, я хочу загрузить шаблон в html файл и скомпилировать его с помощью области и получить результат, чтобы ввести его в jsPDF.
На данный момент мне удалось загрузить шаблон и вставить результат, скомпилированный в jsPDF, но динамические данные не заменяются.
Как я могу это сделать?
Функция запускается, когда пользователь нажимает кнопку:
$scope.getPDF = function () {
var templateUrl = $sce.getTrustedResourceUrl('views/customerDashboard/invoice.html');
$templateRequest(templateUrl).then(function(template) {
$scope.test = 'Hello world!';
var result = $compile(template)($scope);
invoice_generator(result[0].innerHTML);
}, function() {
// An error has occurred
});
};
Файл invoice.html:
<div>
<p>{{ test }}</p>
</div>
Вам просто нужно запустить его через службу интерполяции $, поскольку интерполяции происходят после связывания (впрыскивается как $ compile):
invoice_generator($interpolate(result[0].innerHTML)(scope));
Посмотрите эту скрипку: https://jsfiddle.net/cwqo58b4/