如何在页面加载后调用打印功能?

时间:2015-07-07 13:06:01

标签: javascript angularjs

所以点击我想调用打印功能,但部分页面加载后? 我不想使用$ timeout,我尝试使用angular.element(document).ready但是在调用print函数后部分视图是渲染的。有什么建议吗?

编辑:我试过这个:

   var w = $window.open("/account/ticketprint");
 angular.element(document).ready(function () {
           w.print();
});

2 个答案:

答案 0 :(得分:1)

您需要绑定到该页面的窗口的onload事件,然后打印...

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope, $window) {
  $scope.name = 'World';
  $scope.print = function() {
    var w = $window.open($window.location.href + '#/?_=2323232');
    console.log(w);
    angular.element(w).bind('load', function() {
      w.print();
    });
  };
});

普兰克:http://plnkr.co/edit/DDGsWBnwmfjWHCrKwxlZ?p=preview

答案 1 :(得分:0)

有两种方法可以做到这一点

1. $ timeout(): - 在呈现html后,它将在下一个摘要周期中运行

2. $ scope。$ evalAsync(): - 它将在Html上呈现角度之前运行

所以你可以相应地使用