2017-08-21 15 views
0

私はAngular v1.6.4アプリケーションでいくつかのサービスを実装しようとしています。私は私のindex.htmlをAngularJSサービス中断コントローラ

でサービスをインポートするとき、私はこのエラーmy errorを取得するしかし、これは私も私のアプリでそれを使用していなかった私のサービス

angular.module('myApp', []) 
.service('SessionService', function() { 
    $this.get = function() { 
     return true; 
    } 
}); 

の内容です。単に

<script src="path/to/SessionService.js"></script> 

ようにそれをインポートするには、既にホームコントローラのとおり

アップエラーをもたらし、私はこのようにそれを実装:

angular.module('myApp', []) 
.controller('home', ['$scope', function($scope) { 

}]); 

そして私は

<header class="navbar" ng-controller="home"></header> 
のようにそれを呼ばれます

また、index.htmlにホームコントローラをインポートしていることを確認しました。

私が逃しているものを手に入れることはできません。私を手伝ってくれますか ? 事前に感謝!

答えて

0

変更サービス・ファイル内の最初の行になります

angular.module('myApp', []) 
.service('SessionService', function() { 
    $this.get = function() { 
     return true; 
    } 
}); 

あなたはangular.module内部の角括弧を使用すると、新しいモジュールを再定義[]

なし

angular.module('myApp') 
.service('SessionService', function() { 
    $this.get = function() { 
     return true; 
    } 
}); 

でなければなりません。既存のモジュールにアクセスしていない場合

0

angular.module('myApp', [])は、モジュールmyAppを作成することを意味し、2回実行しています。

第二引数([]:依存モジュールのアレイ)を通過させることによってangular.module('myApp', [])を使用してモジュール一度作成し、これは既存のモジュールmyAppへの参照が返され

angular.module('myApp') //を使用し、次回以降のモジュールを参照するため

とところで、それはサービスの内部thisなく$this

+0

ありがとうございました!彼は私自身のコードでそれを示すことによって間違っていたことを説明したので、私は@ shepluの答えを最良の答えとしてマークしました。あなたの答えも正しいですが、この質問に来る他の人は、彼の答えをより簡単に理解できるかもしれません:) –

+0

それは大丈夫です、コミュニティや他の人にとって助けが必要なものは助けが必要です。 –

関連する問題