2016-05-07 9 views
0

私は角度が新しく、プロジェクトをセットアップする際に問題があります。私はGoogleとstackoverflow(似たような質問へのリンクを送信しないでください)で見たすべてを試してみました..誰も働いていない。 Imは角度1.5.5を使用し、cdnを参照してください。ここで私のコードはどのように見えますか?ありがとう! 38不明なエラー:[$インジェクター:modulerr]事前に任意の助けangular.js 38の

おかげで

<html ng-app="boatup"> 
<link href="css/one-page-wonder.css" rel="stylesheet"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.js"></script> 
<script src="js/app.js"></script> 
<script src="js/controllers.js"></script> 
</head> 


<body ng-controller="mainCtrl"> 
</body> 

//in app.js 
var app = angular.module('boatup', [ 
'boatup.controllers', 
'ngRoute' 
]); 

//in controllers.js 
app.controller('mainCtrl', function($scope) { 
console.log("hello"); 
}); 

エラーがangular.jsです。

+0

あなたはすべてのjsファイルが含まれたのですか? –

+0

はい、私はまたこのポストにそれらを含めた –

+0

ああ愚かな私。修正しました。ありがとうSSH –

答えて

0

これをコードに置き換えてください。

//in app.js 
angular.module('boatup', [ 
'ngRoute' 
]); 

//in controllers.js 
angular.module('boatup') 
.controller('mainCtrl', function($scope) { 
console.log("hello"); 
}); 
0

あなたの説明からわかるように、アプリケーションのモジュールでさまざまなファイルを作成してプロジェクトを開始しました。それは良い判断です。しかし!

  1. メインアプリケーションのモジュールをインスタンス化し、グローバル変数appに割り当てました。それほど大したことではありませんが、グローバルスコープで不必要な変数を作成しないようにしてください。そしてあなたが別のファイルで曖昧な変数appを作成した場合は、ロードされた最後のファイルとともにowerwrittenされます。
  2. メインモジュールの前にコントローラでモジュールをロードする必要があります。さもなければ[$ injector:modulerr]を得るでしょう。

したがって、次の解決策が有効です。

controllers.js

angular.module('boatup.controllers', []) 
    .controller('mainCtrl', ['$scope', function($scope) { 
    console.log('hello'); 
    }]) 

angular.module('boatup', ['ngRoute', 'boatup.controllers']); 

をapp.jsそして、あなたは適切な順序でロードする必要があります。角度で

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular-route.min.js"></script> 
<script src="controllers.js"></script> 
<script src="app.js"></script> 
1

Uncaught reference errorあなたはないか定義してモジュールを使用しているか、モジュール定義を持つファイルは、スクリプトにロードされていない場合に発生します。 boatup.controllersモジュールは宣言されていませんが、メインモジュールへの依存として追加されています。宣言と定義boatup.controllersのか、以下のように依存関係として、それを削除し、次のいずれか

angular.module('boatup', [ 
    'ngRoute' 
]); 
関連する問題