2016-07-15 10 views
0

Ich habe eine sehr einfache Anwendung ohne Code habe in ihm noch nicht. Ich habe es entfernt, um nach diesem Fehler zu suchen, den ich erhalte - "angular.js: 13708 Fehler: [ng: Areq] Argument 'ClientFileConfigController' ist keine Funktion, undefined"Controller sind kein Funktionsfehler mit AngularJS 1.5.7

Ich bin dem ähnlich gefolgt prasseln in meiner angularjs App (1.5.3) und es funktioniert gut. Dieser Code benutzt angularjs (1.5.7) und der einzige Unterschied ist, dass ich bower benutzt habe, um meine Pakete individuell auszuwählen, anstatt nuget zu verwenden.

Ich bin nicht in der Lage, diesen Fehler zu dekodieren :-(

app.js

(function() { 

    var app = angular.module('ConfigApp', ['ngRoute', 'ngAnimate', 'TreeWidget']); 

    app.config(['$routeProvider', function ($routeProvider) { 
     var viewBase = '/app/ConfigApp/views/'; 

     $routeProvider 
      .when('/clients', { 
       controller: 'ClientFileConfigController', 
       templateUrl: viewBase + 'clients.html', 
       controllerAs: 'vm' 
      }) 
      //.when('/clients/:clientId/:fileId', { 
      // controller: 'clientfileEditController', 
      // templateUrl: viewBase + 'edit.html', 
      // controllerAs: 'vm' 
      //}) 
      .otherwise({ redirectTo: '/clients' }); 

    }]); 

}()); 

clientfileConfigController.js

(function(){ 
    var injectParams = ['$scope']; 

    var ClientFileConfigController = function ($scope) { 

    } 

    ClientFileConfigController.$inject = injectParams; 
    angular.module('ConfigApp').controller('ClientFileConfigController', ClientFileConfigController) 
}()); 

index.html

<html ng-app="ConfigApp"> 
<head> 
    <title>Client File Angular Tree Widget</title> 
    <meta charset="utf-8" /> 
</head> 
<body ng-cloak> 
    <nav class="navbar navbar-inverse navbar-fixed-top"> 
     <div class="container"> 
      <div id="navbar" class="navbar-collapse collapse"> 
       <ul class="nav navbar-nav"> 
        <li class="active"><a href="#">Home</a></li> 
        <li><a href="#about">About</a></li> 
        <li><a href="#/clients">Clients</a></li> 
       </ul> 
      </div> 
     </div> 
    </nav> 
    .top-buffer { margin-top:20px; } 
    <div class="slide-animation-container"> 
     <div ng-view id="ng-view" class="slide-animation"></div> 
    </div> 
</body> 
</html> 

Kunden. html

<html> 
<head> 
    <title></title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <h1>Hello World</h1> 

    <!--<tree nodes='treeNodes'>--> 
</body> 
</html> 

Error Image

Antwort

0

Sie erhalten diesen Fehler auf zwei Szenarien:

  1. -Controller nicht in Skript enthalten. (undefined)
  2. Injektor-Abhängigkeit konnte nicht aufgelöst werden.
+0

Die einzige Injektor Abhängigkeit $ Rahmen für die Steuerung ist. Mit AngularJS, auf das bereits verwiesen wird, sehe ich kein Problem damit. Ich habe das Controller-Skript wie in meinem Code erwähnt. – vrkala

+0

Wat abt die IIFE als @ocespedes sagte ich es DINT bemerken obwohl –

+0

ich könnte die Skriptdatei nicht richtig aufgenommen haben ... lassen Sie mich – vrkala

1

ändern IIFE diese Struktur:

(function(){ 
    //your code here 
})() 

und geben Sie Ihren Controller im Skript

+0

Ist es nicht die gleiche Weise, die ich verwendet? (function() { // clientfileConfigController hier }()); – vrkala

+0

@vrkala nein ... schau dir an, wie du es geschlossen hast und rief es an – charlietfl

+0

Ich habe mich verändert aber kein Glück! – vrkala

0

Ich würde sagen, dass Sie die js Dateien in Ihrem Index HTML-Seite einbinden. denn es Angular ist für Ihren Controller aus, aber es gibt keine Datei angegeben, die den Code enthält hier

Verwandte Themen