我在Angular中设置了路由,一切正常:
$locationProvider.html5Mode(true);
$routeProvider.
when('/', { templateUrl: '/Home/Index' }).
when('/User', { templateUrl: '/User/Index' });
但是我现在有一个锚标记用作注销按钮,它只会将用户重定向到/ User / Logout,然后注销会将用户注销并重定向到登录页面。所以我想要的是角度js只是忽略这个特定的路由,并允许它做一个正常的http重定向。这似乎应该是非常简单的东西,但我无法找到问题的解决方案。
我知道我可以执行点击事件并在click事件中进行window.location更改,但这似乎是一种真正的hacky方式。
答案 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;
}
})