gpt4 book ai didi

javascript - 当存在基本 href 时,通过更新 location.path 来更改 UI 路由器状态

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:23 25 4
gpt4 key购买 nike

我正在使用的应用程序有一个基本 href

<base href="/xyz/">

并且状态配置看起来类似于

.state('state1', {
url: '/abc/:def/:ghi',
views: 'view1',
})
.state('state2', {
url:'/abc/:def/:ghi/jk/:123/:456',
views: 'view2',
})

并获取我正在执行的当前 URL

var browserUrl = $state.href($state.current.name, $state.params, { absolute: false });

这返回我

/xyz/abc/:def/:ghi

当我执行 $state.go 转到 state2 时没有问题,但如果我使用 $location.path 更新 URL,则 UI 路由器无法匹配状态,因为 newUrl 中存在基本 href 。更新我正在做的状态

var 123Id = 'item1'                                                               
var 456Id = 'item2'
var newUrl = [browserUrl, 'jk', 123Id, 456Id].join('/');
$location.path(newUrl)

这不起作用,因为 browesrUrl 包含基本 href,知道如何通过更新位置来使其起作用吗?

最佳答案

一个简单的解决方法是使用 $location.url() 而不是 $location.path()url() 能够处理绝对 URL,您可以生成如下绝对 URL:

var browserUrl = $state.href($state.current.name, $state.params, { absolute: true });
$location.url(browserUrl);

关于javascript - 当存在基本 href 时,通过更新 location.path 来更改 UI 路由器状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43450491/

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