2014-10-06 21 views
23

Tôi bao gồm các tệp html khác làm mẫu trong index.html. Đối với điều này tôi đang sử dụng ng-xem chỉ thị. Nhưng tôi đang nhận được một lỗi: Unknown provider: $templateRequestProvider <- $templateRequest <- $route <- ngViewDirective Mã Tôi đang sử dụng là:

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

Dưới đây là Controllers:

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'; 
}); 

Các 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); 
}); 

Đây là HTML :

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

Tôi bị thiếu ở đâu?

+0

Bạn đã thêm tệp angular-route.js ??? –

+0

Có. Tôi đã thêm tệp angular-route.min.js tải và không có lỗi của bất kỳ tập lệnh bị thiếu nào ở đó. – Shikhar

Trả lời

39

Done. Trong hầu hết các trường hợp, nó sẽ là versions của tuyến đường góc và angularjs xung đột. Sau đó, nó hầu như bị rơi trang do yêu cầu vòng lặp liên tục trong

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

Mỗi lần nó nhìn thấy một '/', nó chuyển hướng đến cùng một trang trên một lần nữa và do đó tạo thành một vòng lặp chuyển hướng vô hạn. Điều này nên được sử dụng cuối cùng để những cái đầu tiên được kiểm tra, và nếu một cái gì đó vẫn còn, thì nó sẽ thấy con đường '/'.

+6

Tôi đã gặp phải lỗi này sau khi thử dùng Angular 1.3 - angular-route 1.3 đã được phục vụ ngay cả sau khi cài đặt bower. Một bower cài đặt -f cố định đó. –

+1

Cảm ơn dude, tôi đã không nhận thấy rằng bower đã cài đặt ngRoute 1.3 mặc dù phiên bản góc của tôi là 1.2.6 –

+0

WOW ... Cập nhật từ 1.2.n đến 1.3.11 - không có lỗi! :) – Cody

1

Vấn đề duy nhất với mã của bạn là thiếu dấu ngoặc nhọn bị đóng sau khi định nghĩa surveyFactory.

Thay đổi mã cho ứng dụng và định nghĩa nhà máy dưới đây để khắc phục vấn đề:

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

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

Điều này không hữu ích. Tôi đã sử dụng điều này, nhưng vẫn còn lỗi tương tự. Tôi đang cập nhật mã của mình. Hãy kiểm tra. – Shikhar

+1

Hmmm ... (+1) để giữ mã của bạn luôn sạch sẽ. – Cody

4

Có vấn đề tương tự, vấn đề đối với tôi cũng là một phụ thuộc nhưng không phải là tuyến đường. Sự phụ thuộc gây ra lỗi cho tôi là góc khởi động.

Phiên bản góc hiện tại trong dự án của chúng tôi là 1,28 và đường góc cũng là 1,28. Lỗi này được kích hoạt khi cập nhật angular-bootstrap từ 0.12.1 lên 0.13.

+0

Được rồi, điều đó có nghĩa là lỗi vẫn tồn tại trên Angular-Bootstrap v0.13? – Shikhar

+0

Chúng tôi đã không chỉ định rõ ràng phiên bản của chúng tôi cho bootstrap vì vậy nó tự động cập nhật lên 0,13 và tôi không nghĩ rằng 0.13 tương thích với góc 1.2 *. Tôi không nghĩ rằng đây là một vấn đề nếu bạn có một phiên bản sau của góc. Đây là những đoán mặc dù. – Millenjo

Các vấn đề liên quan