javascript - AngularJS - TypeError : $window. 打印不是函数

标签 javascript angularjs

我在 AngularJS 中的打印功能上遇到了一些麻烦。我的 Controller 中有一个调用 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 弹出窗口...

需要帮助,请

最佳答案

您的 Controller 需要注入(inject) $window 依赖项,

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

如果这不起作用,我建议您删除任何 id 为“alert”或“print”的 html 元素。

如果你有 id 为“print”的 html 元素,它将覆盖 window.print 变量。

关于javascript - AngularJS - TypeError : $window. 打印不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728742/

相关文章:

javascript - JQuery:使用 ('click' 遍历数组)

javascript - 如何在一行中显示多行文本

java - 混合前端和服务器端技术(Spring、Thymeleaf、AngularJS)

javascript - 我想为每个选定的城市或子城市更改图表

javascript - Angular 路由重定向到 404

javascript - 减少代码重复

javascript - 无法在导出的 CSV 文件中显示变音符号

javascript - Node/Expressjs 'No Access-Control-Allow-Origin header is present' Twitter API

html - CSS padding top div 修改下面的div

javascript - 如何让 AngularJS 更新输入值?