У меня есть таблица с некоторыми данными для просмотра в html. когда я нажимаю print, мне нужно получить все данные из db и распечатать. Я получаю данные и заполняю данные модели, когда я нажимаю на печать, обновляется только модель, а печать показывает старые данные. В приведенном ниже коде новые элементы не добавляются к элементам, когда я нажимаю на печать.
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();
};
}
Спасибо за ваш ответ, ваше исправление работало на данные образца. Но у нас есть условие, когда мы выполняем манипуляции с DOM, чтобы показать или скрыть div DOM на основе типа отчета. JS скрипка здесь - http://jsfiddle.net/vijaivp/Y3BJa/309/ Подробный отчет не получает обновленный результат для печати. Вы можете проверить и сообщить мне, в чем проблема. – vijayanand
@vijayanand Это работает: http://jsfiddle.net/Y3BJa/310/ Вам просто нужно было отключить выбор элементов, так как функция должна была закончить выполнение перед изменением 'ditems = newitems'. –
U скалы человек, ... действительно его работающий штраф сейчас, .... Thnks много .. !! :) – vijayanand