AngularJS Route - пользовательская проверка, затем проверка других маршрутов
Скажем, у меня есть маршрут типа "/: отдел", где отделом могут быть только книги, музыка и т. Д., Во-первых, как мне применить это ограничение до выбора контроллера / шаблона, а затем, если он недействителен, как его использовать? проверить другие маршруты в таблице? В противном случае, например, / about не будет действительным.
Два других компонента выбора подходящего контроллера и шаблона, которые я понимаю, это просто вопрос использования функций для обоих, которые возвращают пути, построенные из $ routeParams.
1 ответ
Почему вы не можете сделать что-то вроде этого:
Предположим, ваш маршрут такой:
.when('get/:department, {
templateUrl: 'Your template url',
controller: 'controller'
});
И в вашем контроллере:
app.controller('controller', function ($location, $routeParams){
if($routeParams.department!=='books' || $routeParams.department!=='music' || .....) {
$location.path('invalid route');
} else {
// Your controller body
}
});