2016-04-29 7 views
2

私のアプリのために次の3つのファイルが角1.5使用してあります。角度は私のサービスモジュールをロードしません

angular.module('myApp', ['ngRoute', 'myApp.service']) 
    .controller('AppController', AppController); 

AppController.$inject = ['$scope', 'GreeterService']; 

function AppController($scope, GreeterService) { 
    $scope.greeting = GreeterService.greet("World"); 
} 

service.js

angular.module('myApp.service', []) 
.factory('GreeterService', function() { 
    return { 
     salutation: 'Hello', 
     greet: function(name) { 
      return this.salutation + ' ' + name + '!'; 
     } 
    }; 
}); 

とインデックスをapp.js .html

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title></title> 
    <link rel="stylesheet" href=""> 

</head> 
<body> 
    <header> 

    </header> 

    <main ng-app='myApp'> 
     <div ng-controller="AppController"> 
      {{ greeting }} 
     </div> 
    </main> 

    <footer> 
     <script src="libs/angular.js" charset="utf-8"></script> 
     <script src="libs/angular-route.min.js" charset="utf-8"></script> 
     <script src="js/app.js" charset="utf-8"></script> 
    </footer> 
</body> 
</html> 

私はapを取得できませんpが適切に読み込まれ、なぜその理由がわかりません。 app.jsとservice.jsは同じディレクトリにあります。私は両方のモジュールを作成しました。myAppの依存関係にmyApp.serviceを注入しています。myApp.serviceは、シングルトンとして使用するオブジェクトを返すファクトリを定義し、すべての名前が一致します。コンソールにエラーが表示されると、myApp.serviceが利用できないためロードできませんでした。 myAppとmyApp.serviceはDIを正しく使用していますが、私はそれを知ることができます。コントローラとは思えません。私は本当に問題が何かを見ることができず、私はいくつかの助けに感謝します。

+1

[いいえindex.html' –

+0

''内service.js'ファイルのリンクを追加しますが、私は私がサービスをsrcをしていない場所を今やろうとしている同じことをした別のプロジェクトを持っていませんでしたファイルとそれは正常に働いた。私はそれを追加しようとしたが、それはアプリを動作させたが、なぜモジュールローダーがそれを処理する必要があるのか​​わからない。 – redeagle47

+0

サービスからの期待がある場合はうまくいきません。 –

答えて

2

あなたがindex.html

<!DOCTYPE html> 

</header> 

<main ng-app='myApp'> 
    <div ng-controller="AppController"> 
     {{ greeting }} 
    </div> 
</main> 

<footer> 
    <script src="libs/angular.js" charset="utf-8"></script> 
    <script src="libs/angular-route.min.js" charset="utf-8"></script> 
    <script src="js/app.js" charset="utf-8"></script> 
    <script src="js/service.js" charset="utf-8"></script> 
</footer> 

であなたのサービスの定義を持つservice.jsための参照を追加していません

+0

答えをくれてありがとう、私は、私のビルドプロセスは、他のプロジェクトのサービスファイルがアプリケーションファイルに連結されたという事実を隠したので、これが必要であるかどうかはわかりませんでした。そのためにhtmlでリンクされていたので、他のプロジェクトがうまくいっていたのです。助けてくれてありがとう! – redeagle47

関連する問題