如何让ui路由器转到外部链接,例如google.com?
例如:
$stateProvider .state('external', {
url: 'http://www.google.com',
})
url假定这是一个内部状态。我希望它像href或类似的东西。
我有一个将从ui路线构建的导航结构,并且需要一个链接以转到外部链接。不一定只是谷歌,那只是一个例子。
不在链接或$ state.href(’ http://www.google.com
‘)中查找。在路由配置中声明性地需要它。
回答:
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');
}
});
})
:为了使它能正常工作, 在新窗口中打开Plunkr,因为出于安全原因,
无法在iFrame中打开它。
以上是 如何让ui路由器转到外部链接,例如google.com? 的全部内容, 来源链接: utcz.com/qa/407864.html