当前位置: 代码迷 >> JavaScript >> AngularJS-TypeError:$ window.print不是一个函数
  详细解决方案

AngularJS-TypeError:$ window.print不是一个函数

热度:133   发布时间:2023-06-05 11:46:27.0

我在AngularJS中使用打印功能时遇到了一些麻烦。 我在控制器中有一个调用au打印功能的按钮。 但是我有那个错误:

TypeError: $window.print is not a function

HTML:

<md-button class="md-raised" ng-click="printThis()">Imprimer</md-button>

JS:

$scope.printThis = function(){
    console.info("Let go print !");
    alert("PLOP");
    window.alert("FOO");
    $window.alert("BAR");
    $window.print();
};

当我单击按钮时,我有3个警报,然后是TypeError! 我尝试了window.print()和$ window.print(),但是没有任何效果……我真的不明白! 如果我按Ctrl + P,则要打印的Chrome弹出窗口会正常显示...

请帮忙

您的控制器需要注入$window依赖项,

.controller("YourController", function($window, $scope) {
   $scope.printThis = function(){
      $window.alert("BAR");
  };
}

如果这样不起作用,建议您删除ID为“ alert”或“ print”的所有html元素。

如果您的HTML元素的ID为“ print”,则它将覆盖window.print变量。

角度限制了对window对象(或任何其他全局变量)的访问。

要访问$window您必须先将其注入controller

angular.module('App', []).controller('Cnt', function($scope, $window) {
  $scope.print = function() {
    $window.print();
  }
});

小示范: :

  相关解决方案