gpt4 book ai didi

angularjs - 我如何让 ui-router 转到外部链接,例如 google.com?

转载 作者:行者123 更新时间:2023-12-02 21:38:46 24 4
gpt4 key购买 nike

例如:

 $stateProvider
.state('external', {
url: 'http://www.google.com',

})

url 假定这是一个内部状态。我希望它像 href 或类似的东西。

我有一个将从 ui-routes 构建的导航结构,并且我需要一个链接到外部链接。不一定只是谷歌,这只是一个例子。

不在链接中或 $state.href(' http://www.google.com ') 中查找它。在路由配置中以声明方式需要它。

最佳答案

Angular-ui-router 不支持外部 URL,您需要使用 $location.url()$window.open()

我建议您使用 $window.open('http://www.google.com', '_self') 它将在同一页面上打开 URL。

更新

您还可以通过添加参数external来自定义ui-router,它可以是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');
}
});
})

Sample Plunkr

Note: Open Plunkr in a new window in order to make it working, because google doesn't get open in iFrame due to some security reason.

关于angularjs - 我如何让 ui-router 转到外部链接,例如 google.com?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30220947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com