it-swarm.com.de

Fehler beim Instanziieren des Moduls [$ injector: unpr] Unbekannter Anbieter: $ routeProvider

Ich habe diesen Fehler beim Upgrade von AngularJS 1.0.7 auf 1.2.0rc1 erhalten.

216
Scotty.NET

Das ngRoute-Modul ist nicht mehr Teil der Kerndatei angular.js. Wenn Sie weiterhin $ routeProvider verwenden, müssen Sie jetzt angular-route.js In Ihren HTML-Code einfügen:

<script src="angular.js">
<script src="angular-route.js">

API-Referenz

Sie müssen auch ngRoute als Abhängigkeit für Ihre Anwendung hinzufügen:

var app = angular.module('MyApp', ['ngRoute', ...]);

Wenn Sie stattdessen angular-ui-router oder ähnliches verwenden möchten, entfernen Sie einfach die $routeProvider - Abhängigkeit von Ihrem Modul .config() und ersetzen Sie sie durch die entsprechende Anbieter Ihrer Wahl (zB $stateProvider). Sie würden dann die ui.router - Abhängigkeit verwenden:

var app = angular.module('MyApp', ['ui.router', ...]);
404
Scotty.NET

hinzufügen zu Scotts Antwort:

Option 1: Fügen Sie Folgendes in Ihre JS-Datei ein:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

Option 2: Oder verwenden Sie einfach die URL, um ' angle-route.min.js ' in Ihr lokales Verzeichnis herunterzuladen.

und dann (welche Option Sie auch wählen) fügen Sie diese 'ngRoute' als Abhängigkeit hinzu.

erklärt: var app = angular.module('myapp', ['ngRoute']);

Prost!!!

41
mayankcpdixit

In meinem Fall lag es daran, dass die Datei mit falschem Umfang minimiert wurde. Array verwenden!

app.controller('StoreController', ['$http', function($http) {
    ...
}]);

Kaffeesyntax:

app.controller 'StoreController', Array '$http', ($http) ->
  ...
3
Lucia