Распечатайте div, используя JavaScript в одностраничном приложении angularJS

У меня есть одностраничное веб-приложение, использующее angularJS. Мне нужно напечатать div определенной страницы. Я попробовал следующее:

Страница содержит несколько div (print.html)

<div>
  <div>
    Do not print
  </div>
  <div id="printable">
    Print this div
  </div>
  <button ng-click="printDiv('printableArea');">Print Div</button>
</div>

Контроллер имеет следующий скрипт:

$scope.printDiv = function(divName) {
    var printContents = document.getElementById(divName).innerHTML;
    var originalContents = document.body.innerHTML;        
    document.body.innerHTML = printContents;
    window.print();
    document.body.innerHTML = originalContents;
}

Этот код печатает нужный div, но есть проблема. заявлениеdocument.body.innerHTML = originalContents; заменяет тело всего приложения, так как это SPA. Поэтому, когда я обновляю страницу или снова нажимаю кнопку печати, все содержимое страницы стирается.

Ответы на вопрос(7)

Ваш ответ на вопрос