我在AngularJS中使用$ routeProvider配置了许多路由。 “否则”部分 已配置,因此它将所有未知路由重定向到我的应用程序的主页面。
我想要的只是将浏览器从我的控制器重定向到外部URL,但我不能。 我试图使用$ window.location = external,window.location.href = external,但它们不起作用。路由API每次都会将我重定向到默认页面集。
我怎么能用/或没有重大黑客来实现这个目标。不幸的是,它必须通过我的控制器的JavaScript代码来完成。
提前致谢
答案 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>