为什么UI-Router中的URL会继续重置?

时间:2014-11-13 08:26:31

标签: angularjs angular-ui-router

我使用AngularJS作为我的Web应用程序的框架,使用UI-Router作为嵌套状态。虽然我正在更改UI-Router中的状态,但只要我在兄弟状态之间切换,URL就会正确更新,但当我更改为另一个父状态时,URL会变为:

的http:// {域}:{端口} /#/

可能导致什么原因?

1 个答案:

答案 0 :(得分:0)

这对其他人来说不会是一个普遍的问题,所以我会发布解决问题的方法,希望没有人能像我一样长时间陷入困境。

我的应用程序中状态(UI-Router概念)的公共URL地址是

xttp://domain.com/#/ {siteId} / state1 / state1a(其中{siteId}是一个变量整数)

这里的问题是,在状态之间切换时,无法沿顶层传递siteId。这意味着当链接将用户从状态1a带到状态2a时,将不会传递siteId,并且路由将失败。

我通过将siteId放在cookie而不是URL中作为路径变量解决了这个问题。解决问题后的常见URL地址变为:

xttp://domain.com/#/state1/state1a

Simon S。