Anforderunginkonsistente Daten auf mehreren Seiten auf einem Drucker
drucken drei Seiten von Druck auf einen Knopf klicken Ereignis (auf dem Server Antwortgröße abhängt).
Gespeichert ein Barcode-Bild ein Array und Schleife durch das Array und binden Sie den Wert an ctrl.barCodeImage. Rufen Sie dann den Druckdienst an, um jeden Barcode auf einer anderen Seite zu drucken. Es wird jedoch immer derselbe Wert gedruckt, der der letzte Wert im Array ist.
Es handelt sich um drei separate Seiten mit unterschiedlichen Barcode-Daten.
Dies ist die erwartete Antwort
Druck 1
drucken 2
drucken 3
Die aktuelle Antwort ist inkonsistent. Es werden alle Seiten denselben Wert haben, der der letzte Wert in diesem Array ist. Einzelheiten
Umsetzung:
einen DOM Erstellt, die jedes Mal gedruckt werden, mit unterschiedlichem Wert zugewiesen.
<div id="printThisElement" class="onlyprint" >
<table>
<tr>
<td>{{ ctrl.instCode }}</td>
<td align="center">{{ ctrl.date | dateDisplayFilter}} </td>
</tr>
<tr>
<td colspan="2" align="center"> <img ng-src="data:image/JPEG;base64,{{ctrl.barCodeImage}}"> </td>
</tr>
<tr>
<td colspan="2" align="center">{{ ctrl.user.name }} </td>
</tr>
<tr>
<td >Reg Id: {{ ctrl.regIdLookup }}</td>
<td align="center">{{ ctrl.testName }}</td>
</tr>
</table>
</div>
Die Druckfunktion, die auf den Button klicken aufgerufen wird immer hinzugefügt Timeout alle Werte auf dem Druck div zugewiesen zu bekommen.
Druckdienst, der zum Drucken des DOM verwendet wird.
Nicht in der Lage herauszufinden, warum es zu jedem Zeitpunkt inkonsistente Druckdaten gibt. Ich denke, es könnte ein synchrones Problem sein. Aber die meiste Zeit zeigt es die letzten Daten in allen drei Seiten von print.Thanks im Voraus.
Plunk hier https://plnkr.co/edit/jwoC0bNQJ9J92l5S8ZJJ?p=preview
Hilfe?
Warum verwenden Sie eigentlich '$ timeout'? Und warum setzt du 'vm.barCodeImage' zweimal? –
ohne $ timeout erscheint das erste Barcode-Bild nicht im Ausdruck. vm.barCodeImage, die nur einmal festgelegt werden müssen, aktualisiert die Frage. – user630209