例如,当前网址为" http://localhost/#/mail"。我做了一些动作,我想转到下一个网址:
$location.path("mail/inbox/3")
效果很好。我在另一个带有其他URL的控制器中。但当我点击"返回"浏览器按钮我希望返回到" mail"路线,但我没有去过"邮件/收件箱"路线。为什么?我该如何解决?因为这对我来说不对。谢谢。
答案 0 :(得分:1)
当你解雇这个孩子时:
$location.path("mail/inbox/3")
记住它遍历when('mail')
和when('mail/inbox')
以到达when('/mail/inbox/:number')
。路线来自mail -> inbox -> #3
。这就是为什么当你回击它时会转到mail/inbox
。
这是一个混乱的情况。事情很简单,ng-router
或ui-router
很好,但随着应用程序的增长,像你这样的bug是不可避免的。
在我的项目中,我使用html5Mode
禁用了$locationProvider.html5Mode(false);
,基本上禁用了后退按钮。并在App中添加自定义后退按钮,供用户导航回来。
此解决方案有助于:
我希望这会有所帮助。