2017-08-04 10 views
1

我收到錯誤:「[$ injector:modulerr]由於:ReferenceError:isUndefined未定義,因此無法實例化模塊myApp」。它表明我拼寫錯誤或忘記包含依賴關係。我已經檢查過,所有的腳本都包含在內,我所有的拼寫都是正確的,我認爲我沒有留下任何依賴。我有很多其他的控制器結構非常類似於這個沒有問題,但現在我最近添加的兩個控制器/視圖給了我錯誤。我剔除了所有邏輯,以確保我沒有無意中做某事,但仍然沒有骰子。我包括它所說的未定義的模塊,一個類似的控制器,以及控制器(現在除了console.log以外的所有邏輯都被除去了),這個新視圖不起作用。有任何想法嗎?獲取可怕的模塊沒有實例化的錯誤,但一切都顯示正確

「未定義」 模塊(與許多邏輯的取出爲了簡潔):

var app = angular.module("myApp", ["ngRoute", 'ngAnimate', 'angular-growl', 'ui.select', 'ngSanitize', 'ui.bootstrap', 'ui.bootstrap.datetimepicker']); 

var HeaderCtl = function($scope, $location) { 

    console.log('inside HeaderCtl : ' + $scope.isLoggedIn); 
    $scope.tabSelected = function(tabname) { 

     console.log('Server Parameter :' + $scope.tabname); 
     $location.path("/" + $scope.tabname); 
    } 
} 

app.controller( 「HeaderCtl」,[ 「$範圍」, 「$位置」, '咆哮' ,HeaderCtl]);

基於模塊上的類似的工作的控制器:

(function() { 

var app = angular.module("myApp"); 

var loginController = function($scope, $rootScope, $http, $location, myApp, growl) { 

    // $scope.currenttab = $scope.isLoggedIn; 

    $scope.sendDt = function() { 

     $http.post('/login', { 
       username: $scope.user.username, 
       password: $scope.user.password, 
      }) 
      .success(function(user) { 

        $rootScope.isLoggedIn = 'yes'; 

        console.log('successfully logged in and redirecting to :'); 

        $location.path("/"); 

        $http.get('/getnavlist').success(function(list) { 
         if (list !== '0') { // got some menus 
          $rootScope.navlist = list; 
          $location.path("/" + list[0].value); 
         } 
        }); 
       }, 
       function() { 

        console.log('error in logging in'); 
        $rootScope.message = 'user name or password is wrong'; 

        $location.path("#/welcomeLogin"); 
       }); 
    } 

}; 

    app.controller("loginController", loginController); 

}()); 

最後,邏輯誤差模塊剝離出來:

(function() { 

var app = angular.module("myApp"); 

var signUpController = function($scope) { 

    $scope.formModel = {}; 


    console.log("Woomp!"); 
} 

app.controller("signUpController", signUpController); 

}());

+0

是被精縮的文件嗎?如果是這樣,最後一個是拋出一個錯誤,因爲你需要注入一個數組的對象。 – Hoyen

回答

0

您不能在工廠功能內注入角度爲module作爲注射劑。在loginController中,您已注入myApp(模塊名稱)作爲依賴項。這是你的問題的根源。

變化

                //VVVVV//remove this 
var loginController = function($scope, $rootScope, $http, $location, myApp, growl) { 

var loginController = function($scope, $rootScope, $http, $location, growl) { 
+0

嗯。登錄控制器工作正常。你說的是將它綁定在那裏,並且會讓那個控制器變得很好,但把後面的那個弄糟了? – SealHead1

+0

由於您沒有跟隨任何DI注射點,所以縮小比例可能會受到傷害。 –

相關問題