1

サービスを注入しようとしていますが、unpr エラーが発生し続けます。angularjs doc に従いましたが、解決していないようです。なぜこのエラーが発生し続けるのか、私は途方に暮れています。


私のサービス

(function(){
'use strict';

angular
    .module('omicron.projects.services')
    .factory('Projects', Projects);

Projects.$inject = ['$resource', '$scope'];

/**
 *
 * @param $resource
 * @constructor
 */
function Projects($resource){
    return $resource('/api/projects/:userid', {}, {
        get: {method: 'GET'},
        query: {method: 'GET'},
        update: {method: 'PUT'},
        save: {method: 'POST'},
        delete: {method: 'DELETE'}
    },{
        stripTrailingSlashed: false
    });
}

})();

サービスを呼び出す私のコントローラー

(function() {
'use strict';

angular
    .module('omicron.projects.controllers')
    .controller('ProjectController', ProjectController);

ProjectController.$inject = ['$scope', 'Projects'];

function ProjectController($scope, Projects) {
    var vm = this;

     vm.projects = Projects.get({userid: $scope.user}, function(){
        console.log(projects);
    });
}

})();

私のモジュール定義

    /**
 * Created by shahab on 15-09-03.
 */
(function(){
'use strict';

  angular
   .module('omicron.projects', [
       'omicron.projects.controllers',
       'omicron.projects.directives',
       'omicron.projects.services'
   ]);


angular
    .module('omicron.projects.services', ['ngCookies', 'ngResource']);

angular
    .module('omicron.projects.controllers', []);

angular
    .module('omicron.projects.directives', []);

})();

私のエラー:

エラー: [$injector:unpr] 不明なプロバイダー: $resourceProvider <- $resource <- プロジェクト

4

1 に答える 1

2

ファクトリはスコープにアクセスできません

Projects.$inject = ['$resource', '$scope']; //remove scope from here

する必要があります

Projects.$inject = ['$resource']; 

さらに、アプリのメイン モジュールにangular-resource.jsライブラリとモジュールが追加されていることを確認する必要があります。ngResourceomicron.projects

以下のようなものが必要ですapp.js

angular.module('omicron.projects', [
     'omicron.projects.services', 
     'omicron.projects.controllers', 
     'omicron.projects.directives', 
     'ngResource'
])
于 2015-09-04T20:38:55.240 に答える