使用 ngResource 时收到 $injector:unpr 错误



我在项目中使用ngResource和$resource而不是$http。当我切换到$resource时,我在运行程序时收到 $injector:unpr 错误。我检查以确保所有拼写正确。此外,我确保我在 HTML 中调用了它。

这是模块:

angular.module('confusionApp', ['ui.router', 'ngResource'])

这是我尝试使用的服务:

angular.module('confusionApp')
  .constant("baseURL","http://localhost:3000/")
  .service('menuService', ['$resource', 'baseURL', function($resource, baseURL) {
     this.getDishes = function() {
        return $resource(baseURL+"dishes/:id", null, {
            'update':{
                method:'PUT'
            }
        });
    };

这是我调用函数的地方:

angular.module('confusionApp')
  .controller('MenuController', ['$scope', 'menuService', function($scope, menuService) {
        $scope.showMenu = true;
        $scope.message = "Loading ...";
        $scope.dishes = menuService.getDishes().query();

以下是 HTML 脚本:

<script src="../bower_components/angular/angular.min.js"></script>
<script src="../bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="../bower_components/angular-resource/angular-resource.min.js"></script>

任何帮助将不胜感激。

我发现问题实际上不在于任何代码本身。与我安装的角度资源版本相比,我使用的 angular 版本已经过时了。我通过删除 bower.json 中的依赖项来解决此问题,然后从bower_components中删除了该文件夹。然后我重新下载了带有我想要的版本规范的角度资源。

$ bower install angular-resource#1.4.8

最新更新