2016-02-20 2 views
0

Моего Угловое переадресовывает выглядеть следующим образом:AgularJS иначе маршрут не работает?

// create the module and name it asApp 
var asApp = angular.module('asApp', ['ngRoute']); 

// configure our routes 
asApp.config(['$routeProvider', '$httpProvider', '$locationProvider', function($routeProvider, $httpProvider, $locationProvider) { 
    $routeProvider 

    // route for the home page 
    .when('/', { 
     title: 'Home of PeppyBurro – Radical Spanish learning tips and tricks for the adventurous learner', 
     templateUrl : 'pages/home.html', 
     controller : 'mainController' 
    }) 

    // route for the about page 
    .when('/about', { 
     title: 'About PeppyBurro – Radical Spanish learning tips and tricks for the adventurous learner', 
     templateUrl : 'pages/about.html', 
     controller : 'mainController' 
    }) 

    // route for the 404 page not found error 
    .when('/notfound', { 
     title: 'Page not found', 
     templateUrl : 'pages/404.html', 
     controller : 'mainController' 
    }) 

    .otherwise('/notfound', { 
     title: 'Page not found', 
     templateUrl : 'pages/404.html', 
     controller : 'mainController' 
    }) 
}]); 

Что мне нужно для сценария к маршруту меня 404.html когда неопределенные пробковый вводятся в URL. Поэтому, если пользователь вводит mysite.com/#/about, он должен показать ему страницу about.html. Этот бит работает отлично. Но когда пользователь вводит, скажем, mysite.com/#/abc, он должен показать ему страницу 404.html, как я определил в своих директивах и .when('/notfound'). Но хотя бит .when('/notfound') работает, бит .otherwise не является. Есть что-то, что мне не хватает?

ответ

5

Я думаю, вы должны изменить так же, как:

.otherwise({ 
     redirectTo: '/notfound' 
    } 

Ссылка here

0

Вы можете использовать redirectTo:

.otherwise({ 
    redirectTo: '/notfound' 
}); 
1

.При и .otherwise две разные вещи.

. Определяет маршрут . Другой устанавливает маршрут по умолчанию, когда маршрут не был создан. $routeProvider.otherwise source code

У вас есть два варианта.

  1. Вынимают путь по маршруту

    $routeProvider 
        // ... other routes 
        .otherwise({ 
         title: 'Page not found', 
         templateUrl : 'pages/404.html', 
         controller : 'mainController' 
        }) 
    
  2. или определить 404 маршрут, используя .when и пройти путь маршрута в .otherwise.

    $routeProvider 
         // ... other routes 
         .when('/notfound', { 
          title: 'Page not found', 
          templateUrl : 'pages/404.html', 
          controller : 'mainController' 
        }) 
        .otherwise('/notfound'); 
    

Надеется, что это помогает! Дайте мне знать, если у вас есть вопросы.

EDIT

// As of Angular 1.3 

.otherwise('/notfound') 
// is short hand for 
.otherwise({redirectUrl: '/notfound'})