2014-10-06 7 views
23

Ich schließe andere HTML-Dateien als Vorlage in index.html ein. Dazu benutze ich die NG-View-Direktive. Aber ich bin erhalte eine Fehlermeldung: Unknown provider: $templateRequestProvider <- $templateRequest <- $route <- ngViewDirective Der Code ich verwende ist:

'use strict'; 
var surveyApp = angular.module('surveyApp',['ngRoute']); 
    surveyApp.factory('surveyFactory',function(){ 
return {} 
}); 

Hier sind die Controller:

surveyApp.controller('profileController', function($scope,surveyFactory) { 
    // create a message to display in our view 
    $scope.message = 'This is the profile page'; 
}); 

surveyApp.controller('surveysController', function($scope,surveyFactory) { 
    // create a message to display in our view 
    $scope.message = 'This is the surveys page'; 
}); 

Die Config:

surveyApp.config(function($routeProvider, $locationProvider) { 
$routeProvider 
    .when('/', {  
     templateUrl : 'pages/profile.html', 
     controller : 'profileController' 
    }) 

    .when('/surveys', { 
     templateUrl : 'pages/surveys.html', 
     controller : 'surveysController' 
    }); 
$locationProvider.html5Mode(true); 
}); 

Dies ist der HTML :

<body ng-app="surveyApp"> 
    <div id="main"> 
     <div ng-view></div> 
    </div> 
</body> 

Wo vermisse ich?

+0

Haben Sie angular-route.js Datei hinzugefügt ??? –

+0

Ja. Ich habe angular-route.min.js Datei hinzugefügt, die geladen wird und kein Fehler von fehlenden Skripten vorhanden ist. – Shikhar

Antwort

39

Erledigt. In den meisten Fällen wären es die versions von angular-route und angularjs, die miteinander kollidieren. Danach stürzte es meist die Seite aufgrund einer kontinuierlichen Schleife Anfragen in

.when('/', {  
    templateUrl : 'pages/profile.html', 
    controller : 'profileController' 
}) 

Jedes Mal, es sah ein ‚/‘, es auf die gleiche Seite alle immer wieder und somit bilden eine unendliche Schleife Umleitung umgeleitet. Dies sollte in der letzten verwendet werden, so dass die ersten überprüft werden, und wenn etwas bleibt, dann sieht es die '/' Route.

+6

Ich lief diesen Fehler nach dem Ausprobieren von Angular 1.3 - Winkel-Route 1.3 wurde auch nach einer Laube installiert serviert. Eine Laube installieren -f das behoben. –

+1

Danke dude, ich habe nicht bemerkt, dass bower nngRoute 1.3 installiert hatte, obwohl meine eckige Version 1.2.6 war –

+0

WOW ... Aktualisiert von 1.2.n auf 1.3.11 - kein Fehler! :) – Cody

1

Das einzige Problem mit Ihrem Code ist die fehlende schließende geschweifte Klammer nach surveyFactory Definition.

Ändern Sie den Code für die App und Fabrik Definition unten das Problem zu beheben:

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

    surveyApp.factory('surveyFactory',function(){ 
     return {} 
    }); 
+0

Das hilft nicht. Ich habe das benutzt, aber immer noch den gleichen Fehler. Ich aktualisiere meinen Code. Bitte prüfe. – Shikhar

+1

Hmmm ... (+1) um den Code sauber zu halten. – Cody

4

Hatte das gleiche Problem, das Problem für mich war auch eine Abhängigkeit, aber keine Winkelroute. Die Abhängigkeit, die den Fehler für mich verursacht hat, war angular-bootstrap.

Die aktuelle Winkelversion in unserem Projekt ist 1.28 und die Winkelroute ist ebenfalls 1.28. Dieser Fehler wurde beim Aktualisieren von angular-bootstrap von 0.12.1 auf 0.13 ausgelöst.

+0

Okay, bedeutet das auch, dass der Fehler auf Angular-Bootstrap v0.13 weiterhin besteht? – Shikhar

+0

Wir haben unsere Version nicht explizit für Bootstrap angegeben, so dass sie automatisch auf 0.13 aktualisiert wurde und ich denke nicht, dass 0.13 mit eckigen 1.2 * kompatibel ist. Ich denke nicht, dass dies ein Problem ist, wenn Sie eine spätere Version von eckig haben. Dies sind jedoch Vermutungen. – Millenjo

Verwandte Themen