所以点击我想调用打印功能,但部分页面加载后? 我不想使用$ timeout,我尝试使用angular.element(document).ready但是在调用print函数后部分视图是渲染的。有什么建议吗?
编辑:我试过这个: var w = $window.open("/account/ticketprint");
angular.element(document).ready(function () {
w.print();
});
答案 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();
});
};
});
答案 1 :(得分:0)
有两种方法可以做到这一点
1. $ timeout(): - 在呈现html后,它将在下一个摘要周期中运行
2. $ scope。$ evalAsync(): - 它将在Html上呈现角度之前运行
所以你可以相应地使用