javascript – AngularJS更改URL但不更改视图

我们正在使用angularJS和angular ui-router,并希望更改地址栏中的URL,但保持视图/状态相同.

我已经尝试过使用历史pushstate但是我遇到了冲突导致无限的$digest循环.

我也尝试过sync()https://github.com/angular-ui/ui-router/wiki/Quick-Reference#urlroutersync中描述的方法 – 它本质上是在$locationChangeSuccess上调用preventDefault.然而,这似乎没有用 – 正如这个plunkr:http://plnkr.co/pLC2Ai所证明的那样

有谁知道这个问题的任何解决方案?

最佳答案 当然,我的伴侣! 🙂

使用$stateChangeStart,而不是$locationChangeSuccess

点赞