gpt4 book ai didi

javascript - Angular ui 路由器 : Can you change state without changing URL?

转载 作者:IT王子 更新时间:2023-10-29 03:22:04 25 4
gpt4 key购买 nike

ui-router多个嵌套 View 功能非常好 - 您可以轻松地从应用程序的一个状态跳到另一个.

有时您可能想更改 URL,但有时又不想。我觉得 state 的概念应该与 routing 分开/可选。

Here's a plunker that shows what I mean.这是 ui-router 文档中的一个 plunker 的分支,有 2 个小的变化如下所示:

.state('route1', {
url: "/route", // <---- URL IS SHARED WITH ROUTE2
views: {
"viewA": {
template: "route1.viewA"
},
"viewB": {
template: "route1.viewB"
}
}
})
.state('route2', {
url: "/route", // <---- URL IS SHARED WITH ROUTE1
views: {
"viewA": {
template: "route2.viewA"
},
"viewB": {
template: "route2.viewB"
}
}
})

这似乎有效 - URL 保持不变。同样,这里完成了多少冗余工作?这是经过批准/测试的用法吗?

如果你能从状态中省略 url 就好了..

更新:您可以从状态中省略 url。 plunker

更新问题:这是经过批准/测试的用法吗?

最佳答案

您绝对可以拥有一个没有 URL 的状态。事实上,您的所有州都不需要 URL。这是设计的核心部分。话虽如此,我不会做你上面做的事情。

如果您希望两个州具有相同的 URL,请创建一个 abstract parent state ,为它分配一个 URL,并使它的两个状态成为它的子级(任何一个都没有 URL)。

关于javascript - Angular ui 路由器 : Can you change state without changing URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22791071/

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