2016-07-29 16 views
1

Ich bekomme this error, wenn ich versuche, meine Anwendung zu starten.Controller nicht definiert AngularJS

Argument 'CampaignsSettingsController' is not a function, got undefined 

Mein Controller wird hier definiert:

// Called Second 
var campaignsSettingsModule; 
campaignsSettingsModule = angular.module('campaignsSettings'); 
campaignsSettingsModule.controller(
    'CampaignsSettingsController', [ 
     '$scope', 
     '$window', 
     'CampaignAdvancedSettings', 
     function($scope, $window, CampaignAdvancedSettings) { 
      // my controller code here 
     } 
    ] 
); 

Und das campaignSettings Modul ist wie folgt aufgerufen:

// Called first 
var modules = ['evApp', 'campaignsSettings']; 

for (var i = 0, length = modules.length; i < length; i++) { 
    angular.module(modules[i], []).config(function($interpolateProvider){ 
     $interpolateProvider.startSymbol('{[').endSymbol(']}'); 
    }); 
} 

Die Reihenfolge, in der diese Dateien aufgerufen werden (weiß nicht, ob es sich um eine macht Unterschied) wird über dem Code angezeigt.

Was wäre der Grund für den undefinierten Fehler? Wo kann ich anfangen, dieses Problem zu lösen? Ich habe hier verschiedene Antworten gelesen, aber ich kann es immer noch nicht beheben.

+0

prüft mit dieser Checkliste: http: //stackoverflow.com/a/26797874/930170 –

+0

Soweit ich immer tue, kundenspezifische Module auf dem zweiten von param immer injiziert von 'Winkel .module ('thisModuleName', ['inject', 'your', 'modules', 'here']) 'auch, wickle es nicht in for-Schleife. Es sieht seltsam aus. – CENT1PEDE

+0

Übrigens habe ich eine persönliche Vorlage/Kesselplatte für angularjs geschrieben, die Ihnen bei der Konstruktion Ihres eckigen Projekts helfen könnte. Hier. https://github.com/jofftiquez/angular-app-starter-pack – CENT1PEDE

Antwort

2

ändern

Von:

campaignsSettingsModule = angular.module('campaignsSettings'); 

An:

campaignsSettingsModule = angular.module('campaignsSettings',[]); 
-1

Ich denke angular.module(modules[i], []) Abschnitt in for-Schleife neue Winkelmodul definiert. Also, Ihre vorherige Deklaration des Moduls wurde ignoriert.

Ändern Sie es so; (Ohne zweiten Parameter)

angular.module(modules[i]) 
+0

Sie können nicht mehrere Module definieren.Sie können mehrere Abhängigkeiten injizieren wie zum Beispiel angular.module ('irgendein Name', ['Abhängigkeit1', 'Abhängigkeit2']) –