AngularJS $ routeProvider否则会捕获我的外部重定向

时间:2014-08-01 09:01:48

标签: angularjs redirect routing external

我在AngularJS中使用$ routeProvider配置了许多路由。 “否则”部分 已配置,因此它将所有未知路由重定向到我的应用程序的主页面。

我想要的只是将浏览器从我的控制器重定向到外部URL,但我不能。 我试图使用$ window.location = external,window.location.href = external,但它们不起作用。路由API每次都会将我重定向到默认页面集。

我怎么能用/或没有重大黑客来实现这个目标。不幸的是,它必须通过我的控制器的JavaScript代码来完成。

提前致谢

2 个答案:

答案 0 :(得分:0)

AngularJS的路由选择是在页面内进行路由。

您应该使用本机location.href。

编辑:你能给我一个这方面的傻瓜吗?你沿着这条线尝试了什么吗?

$scope.path="http://www.google.com"; $scope.redirect = function(path){ location.href = path; };

<button ng-click="redirect(path)">Go there</button>

答案 1 :(得分:0)

这可能无法完全回答您的问题,但要在路线范围之外导航,您可以使用此

Links that contain target element
    Example: <a href="/ext/link?a=b" target="_self">link</a>

Absolute links that go to a different domain
    Example: <a href="http://angularjs.org/">link</a> //this one might actually be of use for you

Links starting with '/' that lead to a different base path when base is defined
    Example: <a href="/not-my-base/link">link</a>