2014-06-15 32 views
9

Tôi có một lỗi thực sự lạ, tôi đã thiết lập các tuyến đường của tôi và bộ điều khiển của tôi. Bây giờ tôi chỉ có một trang trống không có lỗi?AngularJS: ngRoute, nếu không không hoạt động

index.html;

<!DOCTYPE html> 
<html ng-app="RekenTalent" lang="nl"> 
    <head> 
     <title>Rekentalent.nl: Ben jij een talent in Rekenen?</title> 
     <!-- Stylesheets --> 
     <link rel="stylesheet" type="text/css" href="/app/front/assets/stylesheets/style.css"> 
     <!-- AngularJS --> 
     <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular.min.js"></script> 
     <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-route.min.js"></script> 
     <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-animate.min.js"></script> 
     <!-- Controllers --> 
     <script src="/app/front/controllers/controller.js"></script> 
     <!-- Router --> 
     <script src="/app/front/router.js"></script> 
    </head> 

    <body ng-view></body> 
</html 

>

Controller.js:

/** 
* RekenTalent 
* 
* Copyright 2014 - Rekentalent.nl 
*/ 
var RekenTalent = angular.module('RekenTalentControllers', []); 

RekenTalent.controller('rekenCtrl', ['$scope', function($scope){ 

}]); 

Router.js:

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

RekenTalent.config(['$routeProvider', function($routeProvider) { 
    $routeProvider. 
    when('/index', { 
     templateUrl: '/templates/index.html', 
     controller: 'rekenCtrl' 
    }). 
    otherwise({ 
     redirect: '/index' 
    }); 
}]); 

Và /templates/index.html chỉ nói 'hi'. Có ai biết tại sao tôi nhận được một trang trống không? Nó sẽ chuyển hướng tôi đến /index.html và /index.html nên sử dụng /templates/index.html làm mẫu. Whats vấn đề và sửa chữa?

UPDATE:

khi tôi đi đến/index nó hoạt động, vì vậy nếu không thì param việc doesn `t, tại sao không?

+0

Tôi nghĩ rằng đó là lỗi liên quan đến tệp, vui lòng cung cấp cho chúng tôi chỉ mục của bạn và các tập lệnh góc trong máy của bạn – Milad

+0

Và bạn có thể thêm bảng điều khiển.đăng nhập ('tải') trong bộ điều khiển của bạn để kiểm tra xem bộ điều khiển đó có được kích hoạt chính xác hay không Nhưng vẫn còn, tôi nghĩ lỗi refference của nó – Milad

+0

index.html => /app/front/templates/index.html, cũng khi tôi đặt bảng điều khiển .log ('hi') trong bộ điều khiển tôi không nhận được đăng nhập trong giao diện điều khiển. – DazDylz

Trả lời

16

thay đổi redirect-redirectTo

Và nó tốt hơn để sử dụng home.template để tránh tất cả các loại vấn đề, tôi có nghĩa là xem xét:

Bạn có một index.html có chứa toàn bộ của bạn bao gồm kịch bản, như góc cạnh, jquery, ... và trong thẻ body có ng-view, ok?

Bây giờ, nếu bạn có bất kỳ mẫu nào như chào mừng hoặc bất kỳ chỉ mục nào, hãy viết mẫu đó trong home.html, OK? Như thế này:

index.html:

<body ng-app="yourapp"> 
    <div ng-view> 
    </div> 
</body> 

home.html

<div> 
    Welcome, user. This is index. 
    </div> 

cấu hình ứng dụng của bạn:

yourapp.config(function($routeProvider) { 
    $routeProvider 
     .when('/', { 
     templateUrl: 'partials/home.html', 
     controller: 'homeCtrl' 
     }) 
     .otherwise({redirectTo:'/'}); 
} 

Và nó là một thực hành tốt để đặt tất cả các bạn các mẫu bên trong thư mục partials, trong đó thư mục cha chứa index.html như thế này

root 
    yourAppFolder 
     1-Assets 
      Css 
      Js 

     2-Partials 
      home.html 
      login.html 

     3-index.html 
2

Tìm thấy; chuyển hướng nên được redirectTo;

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

RekenTalent.config(['$routeProvider', function($routeProvider) { 
    $routeProvider. 
    when('/index', { 
     templateUrl: '/app/front/templates/index.html', 
     controller: 'rekenCtrl' 
    }). 
    otherwise({ 
     redirectTo: '/index' 
    }); 
}]); 
1

tôi có mẫu mã này ví dụ:

.config(['$routeProvider', 
function($routeProvider) { 
    console.log('routeando'); 
    //alert('otherwise' + $routeProvider.route); 
    $routeProvider. 
     when('/', {  templateUrl: 'home'}). 
     when('/route1', { templateUrl: 'route1'}). 

     /*Without the next line, redirectTo doesnt work*/ 
     when('/error', { templateUrl: 'error'}). 
     otherwise({  redirectTo: '/error'}); 
}]);  

Nếu không chỉ đi làm việc nếu bạn đã có một "khi" tham số cho tuyến đường đó.

Xin lỗi vì tiếng Anh của tôi và chúc một ngày tốt đẹp.

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