Imprimir uma div usando javascript no aplicativo de página única angularJS

Eu tenho um aplicativo Web de página única usando angularJS. Preciso imprimir uma div de determinada página. Eu tentei o seguinte:

A página contém alguns 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>

O controlador possui o seguinte script:

$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;
}

Este código imprime a div desejada, mas há um problema. a declaraçãodocument.body.innerHTML = originalContents; substitui o corpo de todo o aplicativo, pois é um SPA. Portanto, quando atualizo a página ou clico no botão Imprimir novamente, todo o conteúdo da página é apagado.

questionAnswers(7)

yourAnswerToTheQuestion