Html template
<div id="download">
<div>
{{name}}
</div>
</div>
<button type="button" class="btn btn-primary" (click)="captureScreen()">Download</button>
Component.ts:
public name = 'Sample';
captureScreen() {
this.name = "something else";
var img;
var newImage;
let filename = 'mypdf_'+'.pdf';
var node = document.getElementById('download');
domtoimage.toPng(node, { bgcolor: '#fff' }).then(function (dataUrl) {
img = new Image();
img.src = dataUrl;
newImage = img.src;
img.onload = function () {
var pdfWidth = img.width;
var pdfHeight = img.height;
var doc;
doc = new jspdf('l', 'px', [pdfWidth, pdfHeight]);
var width = doc.internal.pageSize.getWidth();
var height = doc.internal.pageSize.getHeight();
doc.addImage(newImage, 'PNG', 10, 10, width, height);
doc.save(filename);
};
}).catch(function (error) { });
}
Этот код отлично работает для предварительно установленного значения в поле имени. Я хочу провести l oop через список имен и распечатать новую страницу для каждого имени в pdf. Но в настоящее время, если я изменяю значение this.name = "что-то еще"; оно все равно выводит имя как ' Sample ' в pdf.
Как сделать Я изменяю значение имени на go и печатаю pdf для разных имен?