2016-05-20 3 views
0

Привет, ниже мой код для urlRouterProvider в противном случае.

.config(function config($urlRouterProvider, $stateProvider) { 
$urlRouterProvider.otherwise('/invalid'); 
$stateProvider.state('view', { 
    url: '/view?{businessId:^[0-9]{1,20}$}', 
    templateUrl: 'view/view.tpl.html', 
    controller: 'ViewCtrl', 
    controllerAs: 'vm' 
}) 
.state('otherwise', { 
    url: '/invalid', 
    templateUrl: 'view/view.error.tpl.html' 
}); 
}) 

Это то, что я ожидал: 1. если я иду, чтобы посмотреть BusinessID = 12345 он должен загрузить страницу без каких-либо проблем 2. если я иду, чтобы посмотреть BusinessID = ABCD она должна заново? направьте его в view.error.tpl.html

Но вместо этого он ничего не делает, если я ввожу неверный URL-адрес. Я обозначаемого на этот пост для помощи, но ни один из вариантов действительно не работает Otherwise on StateProvider

ответ

2

вы можете попробовать это, без использования в противном случае функции:

$stateProvider.state('view', { 
    url: '/view?{businessId:^[0-9]{1,20}$}', 
    templateUrl: 'view/view.tpl.html', 
    controller: 'ViewCtrl', 
    controllerAs: 'vm' 
}) 
.state('otherwise', { 
    url: '*path', 
    templateUrl: 'view/view.error.tpl.html' 
}); 
+0

Я попытался это Но это не работает. – NewQueries

0

Попробуйте

.config(function ($urlRouterProvider, $stateProvider) { 
    $stateProvider.state('view', { 
     url: '/view?{businessId:^[0-9]{1,20}$}', 
     templateUrl: 'view/view.tpl.html', 
     controller: 'ViewCtrl', 
     controllerAs: 'vm' 
    }) 
    .state('otherwise', { 
     url: '*path', 
     templateUrl: 'view/view.error.tpl.html' 
    }); 

}) 
Смежные вопросы