Подтвердить что ты не робот

Передача Angular Js для игнорирования определенного маршрута

Я настроил свою маршрутизацию в Angular, и все работает нормально:

$locationProvider.html5Mode(true);
$routeProvider.
      when('/', { templateUrl: '/Home/Index' }).
      when('/User', { templateUrl: '/User/Index' });

Однако теперь у меня есть якорный тег для работы в качестве кнопки выхода, который просто перенаправляет пользователя на /User/Logout, а выход из системы будет регистрировать пользователя и перенаправлять его на страницу входа. Поэтому я хочу, чтобы Angular js просто игнорировал этот конкретный маршрут и позволял ему выполнять обычную переадресацию HTTP. Это похоже на то, что должно быть очень просто, но я не смог найти решение проблемы.

Я знаю, что могу сделать событие click и сделать изменение window.location в событии click, но это похоже на действительно хакерский способ сделать это.

4b9b3361

Ответ 1

укажите target="_self" в ваших якорях, так что angularjs не переписывает URL-адреса. См. Обсуждение здесь: http://docs.angularjs.org/guide/$location

Ответ 2

Вы также можете использовать функцию с redirectTo:

 .when('/User/Logout', {
            redirectTo: function(obj,path,search) {
                window.location.href=path;
            }
        })