Mam tabelę z danymi do wyświetlenia w html. kiedy klikam drukowanie, muszę pobrać wszystkie dane z db i wydrukować je. Dostaję dane i zapełniam dane modelu, gdy klikam na wydruku, tylko model jest aktualizowany i druk pokazuje stare dane. W poniższym kodzie newitems nie jest dodawany do elementów po kliknięciu na wydruku.
http://jsfiddle.net/vijaivp/Y3BJa/306/
HTML
<div ng-app>
<div class="hidden-print" ng-controller="PrintCtrl">
<br />
<div id="overallPrint" class='visible-print' style="float:left; margin-right:50px;">
<h4>Overall Report</h4>
<table border="1">
<thead>
<tr>
<td>Name</td>
<td>Price</td>
<td>Quantity</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in items">
<td>{{item.Name}}</td>
<td>{{item.Price}}</td>
<td>{{item.Quantity}}</td>
</tr>
</tbody>
</table>
<br>
<input type="button" value="Print Overall" ng-click='printOverallReport()' />
</div>
</div>
</div>
JS
function PrintCtrl($scope, $window, $q) {
$scope.items = [
{Name: "Soap", Price: "25", Quantity: "10"},
{Name: "Shaving cream", Price: "50", Quantity: "15"}
];
$scope.newitems = [
{Name: "Shampoo", Price: "100", Quantity: "5"}
];
$scope.printOverallReport = function() {
$scope.items.push($scope.newitems[0]);
$window.print();
};
}
Dzięki za odpowiedź, Twoja poprawka działała dla przykładowych danych. Ale mamy warunek, w którym wykonujemy niektóre manipulacje DOM, aby pokazać lub ukryć DOM div na podstawie typu raportu. JS fiddle tutaj - http://jsfiddle.net/vijaivp/Y3BJa/309/ Szczegółowy raport nie otrzymuje zaktualizowanego wyniku do drukowania. Czy możesz sprawdzić i dać mi znać, jaki byłby tutaj problem. – vijayanand
@vijayanand To działa: http://jsfiddle.net/Y3BJa/310/ Po prostu trzeba było przejść do selekcji elementów, ponieważ funkcja musiała zakończyć działanie zanim nastąpiła zmiana 'ditems = newitems'. –
U skał człowieka, ... naprawdę działa dobrze teraz, .... Dużo czuje .. !! :) – vijayanand