2016-06-19 5 views
1

私はangular.moduleをコントローラ用に1回、サービス用に複数回再定義しようとしています。 TestServiceはtest.jsで定義されていて、使いたいファクトリです現在のhtmlページにあります。angle jsモジュールを複数回定義していない

HTML

<script src="test.js"></script> 

<script> 
var app = angular.module("myapp", ['TestService']).controller(
    "MyController", function($scope, $cookies,TestService) { 

<script> 

は今、私はサービスを記述しようとしています別のjavascriptのページを持っています。

test.js

angular.module("myapp").factory('TestService', function() { 
    return { 
     sayHello: function(){ 
      return "Factory says hi; 
     } 

    } 
}); 

私はエラー 'TestService' を取得していますが使用できません!

答えて

1

あなたのHTMLは次のようになります。あなたが最初にそれにサービスを登録し、その後、モジュール(angular.module("myapp", []))を定義する必要があることを意味

<script> 
    var app = angular.module("myapp", []) 
    .controller("MyController", function($scope, $cookies, TestService) { 
     // ... 
    }); 
</script> 

<script src="test.js"></script> 

+0

はい、ここに角カッコ内にサービスを注入する必要はありませんか?つまり、angular.module( "myapp"、['TestService'])対angular.module( "myapp"、[]) –

+0

モジュールを作成すると何も挿入されません。 。たとえば、モジュールTestを作成してサービスをそこに置き、Testをメインモジュールの依存として使用することができます。 'angular.module( 'Test'、[])。factory( 'TestService'、function(){...}); ( 'myapp'、['Test'])。controller( 'MyController'、function(){...}) '。 – dfsq

関連する問題