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

时间:2017-04-04 19:14:07

标签: javascript angularjs dependency-injection angular-resource ngresource

我在项目中使用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>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我发现问题实际上并不是任何代码本身。与我安装的角度资源版本相比,我使用的角度版本已经过时了。我通过删除bower.json中的依赖项来修复此问题,然后从bower_components中删除了该文件夹。然后我重新加载了角度资源,并指定了我想要的版本。

$ bower install angular-resource#1.4.8