【问题标题】:How to call print function in new window after page is loaded completly页面完全加载后如何在新窗口中调用打印功能
【发布时间】:2015-07-13 20:58:24
【问题描述】:

我有这部分代码,主要想法是在新页面中打开部分视图并为该部分视图调用打印函数。我能做的是打开新窗口并调用打印功能,但我没有成功渲染部分视图......所以我的打印功能是空白的。有人可以帮我怎么做吗?

$scope.ConfirmTicketPayOut = function (ticketPin, username) {
    $scope.pinTicket = ticketPin;
    localStorage.setItem("pin", ticketPin);
    accountDataProviderService.confirmTicketPayOut(ticketPin, username)
    .then(function (response) {

        $scope.confirmTicketPayOut = response;
        if ($scope.confirmTicketPayOut.Result == true) {

                    var w = $window.open('/print');

                    angular.element(w).ready('load', function () {
                        w.print();

                    });
               }
    });
}

我试过这个:$timeout(w.print(),0); 但没有成功

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    在要等待的元素上使用指令ng-init=""
    在那里你可以调用打印函数。

    $scope.print = function() {
        print();
    }
    

    在 html 中 ng-init="print()"

    【讨论】:

    • @borraciaBlu 我不确定我是否理解......你能说我需要把它放在我的代码中的什么地方吗
    • 实际上您的代码正试图等待/load 对吗?所以把指令放在那里。你有那个页面的控制器吗?
    • hmm 现在发生的事情是,当我单击按钮时,它会打开带有打印选项的新窗口,但页面未加载...我只打印空白页...如果你知道我意思
    • 您要渲染的局部视图的名称是什么?把指令放在那里。
    • 当我喜欢你说我进入新窗口打印选项但没有值只是 angularjs 变量 ....例如 {{time}} 和类似的东西
    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 2010-11-05
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2012-08-02
    • 2014-08-09
    相关资源
    最近更新 更多