2016-04-15 7 views
1

Ich arbeite mit Angular in der MEAN-Stack und ich versuche, Angular zu integrieren, aber ich laufe immer wieder in diese Fehler.Fehler: [ng: Areq] Argument 'CompanyCtrl' ist keine Funktion, undefined

Uncaught SyntaxError: Unexpected token < Error: [ng:areq] Argument 'CompanyCtrl' is not a function, got undefined

Hier sind meine Dateien:

index.html

<!DOCTYPE html> 
<html ng-app="dashboard"> 
    <head> 
    <meta charset="utf-8"> 
    <title>TappShops - Dashboard</title> 
    <base href="/"> 
    <!-- inject:css --> 
    <!-- endinject --> 

    <script src="../lib/angular/angular.js"></script> 
    <script src="../lib/angular-route/angular-route.js"></script> 
    <script src="../lib/angular-resource/angular-resource.js"></script> 
    <script src="../app/js/app.js"></script> 

    <!-- inject:js --> 
    <script src="features/company/company.controller.js"></script> 
    <!-- endinject --> 
    </head> 

    <body> 
    <div ng-controller="CompanyCtrl as company"> 
     {{company.test}} 
    </div> 
    </body> 
</html> 

app.js

(function() { 
    'use strict'; 

    angular 
    .module('dashboard', [ 
     'ngRoute', 
     'ngResource' 
    ]) 
})(); 

company.controller.js

(function() { 
    'use strict'; 

    angular 
    .module('dashboard') 
    .controller('CompanyCtrl', CompanyCtrl); 

    CompanyCtrl.$inject = [ 
    ]; 

    function CompanyCtrl() { 
    var vm = this; 

    vm.test = "Hello World!"; 
    }; 

})(); 

Vielen Dank im Voraus für jede Hilfe. :)

+0

Sind Sie sicher, es gibt keine weiteren Fehler in dem Stapel? Weil das alles gut aussieht. – Lex

+0

Ist der Pfad zu 'company.controller.js' korrekt? Ich bemerke, dass es das führende '../' nicht gibt, das alle deine anderen Wege haben. – Lex

+0

Das ist neben dem Punkt, aber warum mit module.controller arbeiten? Es gilt als veraltete Praxis (manche würden schlechte Praxis sagen). Verwenden Sie stattdessen Anweisungen/Komponenten, jede hat ihren eigenen Controller. – yccteam

Antwort

2

Okay, so dass das Problem Weg zu meinem Controller war.

Ich hatte:

<script src="features/company/company.controller.js"></script> 

Wenn es hätte sein sollen:

vor diesem
<script src="app/features/company/company.controller.js"></script> 
Verwandte Themen