当前位置: 首页 > 面试题库 >

部署后AngularJs脚本不起作用,它给出错误[$ injector:unpr]

宰父衡
2023-03-14
问题内容

我一直在构建一个Web项目,有时我会尝试发布并看到一切看起来像在localhost中一样。这次,我添加了angularjs以获取/显示货币并再次部署了该项目。但是,它向浏览器中的用户显示{{currencies}}。

Error: [$injector:unpr] http://errors.angularjs.org/1.5.8/$injector/unpr?p0=nProvider%20%3C-%20n%20%3C-%20CurrencyController

我的angularjs代码看起来像这样…

app.controller("CurrencyController", function ($scope, $http) {
        $http.get('http://dummy.com/api/getcurrencyformainscreen').
                success(function (data, status, headers, config) {
                    $scope.currencies = data;
                }).
                error(function (data, status, headers, config) {
                    //alert(data);
                })

});

我究竟做错了什么?


问题答案:

如果在部署项目时将JavaScript文件缩小并且AngularJS服务未正确“注入”,则可能会发生这种情况。如果是这样,请尝试按以下方式修改您的代码:

var currencyCtrl = function($scope, $http) {
  $http.get('http://dummy.com/api/getcurrencyformainscreen').
  success(function(data, status, headers, config) {
    $scope.currencies = data;
  }).
  error(function(data, status, headers, config) {
    //alert(data);
  })

};
// inject dependencies properly for minification process
currencyCtrl.$inject['$scope', '$http'];

app.controller("CurrencyController", currencyCtrl);

这是因为AngularJS依赖于依赖项注入。在发展模式的参数($scope$http)具有相同的名称和AngularJS内喷射没有问题的依赖(使用相同的名称服务),但在JavaScript文件的精缩版,参数的名称随机变化,所以你必须
注入 他们与currencyCtrl.$inject['$scope', '$http'];代码手动。



 类似资料:
  • 我目前正在学习Michael Hartl的RoR教程,尽管我仔细地遵循了说明,但我的应用程序并没有正确地部署到heroku。帮助 我的文件看起来像这样 我输入了以下命令: 然而,我的最终结果是这样的:http://warm-wildwood-5691.herokuapp.com/“您要查找的页面不存在。” 这些是我的Heroku日志 2013-07-19T19:21:15.363798 00:00

  • 我创建了一个带有mojs的简单javascript应用程序,一个动画库,并希望将其部署到heroku。首先,我尝试“heroku create”等并将原始应用程序部署到heroku - 该应用程序可以访问,但脚本不起作用。其次,我尝试通过插入脚本引导标记来更改我按照 heroku 网站上的 Node.js 教程制作的应用程序 将我制作的脚本复制到此应用程序的文件夹中 然后运行“npm 安装 moj

  • 当我尝试在Netbeans中运行Tomcat时,我得到: 部署错误:Tomcat启动失败,/users/dropbox/apache-tomcat-8.0.23/bin/catalina.sh和相关脚本可执行。 catalina.sh位于该文件位置。我不知道如何检查它是否可执行。我之前在工作,然后它停止工作,但我不确定什么时候或我改变了什么。

  • 使用自动化脚本,一个命令来上一节中的所有操作。 自动化创建和更新 gh-pages 所以,我们采用一个 npm 包,来帮助我们完成上面的操作 cd my-note/ npm i gh-pages 然后创建 my-note/scripts/deploy-gh-pages.js 里面的内容是: 'use strict'; var ghpages = require('gh-pages'); ma

  • 我正在尝试应用biopython代码来分割一个大的fasta文件。代码如下所示: 在这一行中:对于i,枚举中的批处理(批处理迭代器(record_iter,93)):正在给我语法错误:无效语法。但是我看不到错误,有人能帮我找到吗?我从这里取了密码http://biopython.org/wiki/Split_large_file谢谢

  • 谢谢大家。 我有一个包含7张的谷歌电子表格。我试图将最后一张工作表中的数据从单元格A1: D1移动到附加到同一工作表底部的新行。 下面是我正在使用的代码片段: 在我运行代码后,在标签“薪资检查历史记录”中,在工作表底部的新行中,我得到以下内容:“[Ljava.lang.对象;@3e0d05f9” 有人能告诉我(a)这个错误是什么,(b)这意味着什么,以及(c)我如何修复这个问题或实现我的目标,即“