告诉Angular Js忽略特定路线

时间:2013-07-01 14:35:04

标签: angularjs

我在Angular中设置了路由,一切正常:

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

但是我现在有一个锚标记用作注销按钮,它只会将用户重定向到/ User / Logout,然后注销会将用户注销并重定向到登录页面。所以我想要的是角度js只是忽略这个特定的路由,并允许它做一个正常的http重定向。这似乎应该是非常简单的东西,但我无法找到问题的解决方案。

我知道我可以执行点击事件并在click事件中进行window.location更改,但这似乎是一种真正的hacky方式。

2 个答案:

答案 0 :(得分:103)

在你的锚点中指定target="_self",以便angularjs不会重写URL。请参阅此处的讨论:http://docs.angularjs.org/guide/$location

答案 1 :(得分:0)

您也可以使用redirectTo函数:

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