2017-03-23 9 views
0

私はanglejsを使用してアプリケーションを作成していますが、コントローラは2つ、サービスは1つ(すべて分離されたファイル)です。私の問題は、コントローラにサービスを注入できないことです。私は、コントローラと同じファイルでサービスを使用していましたが、それは機能しましたが、コントローラ間でデータを共有するために、ファイルを別々のファイルにしたいのです。angularjsを使用してコントローラでサービスを注入

不明なエラー:[$インジェクター:modulerr] http://errors.angularjs.org/1.6.4-build.5327+sha.233f47b/ $インジェクター/

これは、私はこのエラーが出るこれは私のサービス

var app = angular.module('service', []); 

app.factory('ServiceUser',function(){ 
    var user=[]; 

    return{ 
     add: add, 
     get: get 
    } 

    function add(item){ 
     user.push(item); 
    } 

    function get(){ 
     return user; 
    } 

    return user; 
}); 

である私のコントローラの1

 var app = angular.module('cloudpear', ['ngRoute','ServiceUser']); 

    app.controller('login',['$scope','$location','$window', function(ServiceUser,$scope,$location,$window){ 
..... 
}]); 

ですmodulerr ... 20(https%3A%2F%2Fcode.angularjs.org%2Fsnapshot%2Fangular.min.js%3A22%3A179)

私が間違っていることを教えてもらえますか、どこでも検索し、複数の解決策を試しましたが、何もできませんでした!

+0

にサービスを注入する必要があることは、前の回答と異なるものを同じ過ち –

答えて

2

サービスのために別個のモジュールを定義しているので、モジュール宣言にserviceモジュールを注入する必要があります。

var app = angular.module('cloudpear', ['ngRoute','service']); 
               //^^^^^^^^^^ instead of ServiceUser 

は次にコントローラ

app.controller('login',['ServiceUser', '$scope','$location','$window',function(ServiceUser, $scope,$location,$window){ 
+0

を与えますか? – vict

+0

@vict、以前の答えは 'angular.module( 'cloudpear'、['ngRoute'、 'service']); – Satpal

+1

この作品は、ありがとうございます! –

関連する問題