私は最近、Angularコントローラが定義されていないという奇妙な問題に遭遇しました。別のコントローラーが(すべて同じコードで)うまく動作していても、コントローラーは表示されないようです。ここでAngularJSコントローラが関数ではない、定義されていない
は私app.js
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(function($routeProvider){
$routeProvider
.when('/',{
controller: 'DashboardController',
templateUrl: 'views/dashboard.html'
})
.when('/users',{
controller: 'UsersController',
templateUrl: 'views/users.html'
})
.otherwise({
redirectTo: '/'
});
});
である私のWORKINGコントローラは、ここで
var myApp = angular.module("myApp");
myApp.controller('DashboardController', ['$scope', '$http', '$location', function($scope, $http, $location){
console.log("dashboard init");
}]);
私のダッシュボードコントローラで、機能していないコントローラは、私のユーザコントローラ
VAR myappにあります= angular.module( 'myApp'); angular.js:12450エラー:[NG:AREQ]引数 'がUserController' 関数は、私もコピーした
、未定義しまっていません
myApp.controller('UsersController', ['$scope', '$http', '$location', function($scope, $http, $location){
console.log("users init");
}]);
これは私が取得していますエラーがありますダッシュボードをユーザーに完全に渡し、コントローラ名を「UsersController」に変更しただけで運が悪くなった。すべてのファイルが参照され、あなたのindex.htmlまたはスタートアップページにロードした場合
すべての問題を持つべきではありません記載されている順序で? –
DashboardControllerと同時にUsersControllerファイルをインクルードしましたか?あなたが見せていることはうまくいくようですが、問題を示すために[jsfiddle](https://jsfiddle.net/)を設定した方がいいでしょう。 – Monokh
はい、そのファイルはまったく同じようにロードされていました。@Rubelet私はあなたが含まれていることを意味していません。私は両方のコントローラファイルを同じ "コントローラ"フォルダに持っており、私はそれらをapp.jsファイルで呼び出しています。そこに別の場所があるのでしょうか? –