Angular-ui-router不支持外部URL,您需要使用$location.url()
或重定向用户$window.open()
我建议您使用$window.open('http://www.google.com', '_self')
它将在同一页面上打开URL。
您还可以ui-router
通过添加参数来自定义external
,它可以是true
/ false
。
$stateProvider
.state('external', {
url: 'http://www.google.com',
external: true
})
然后$stateChangeStart
在您的状态中配置并在那里处理重定向部分。
myapp.run(function($rootScope, $window) {
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams) {
if (toState.external) {
event.preventDefault();
$window.open(toState.url, '_self');
}
});
})