[英]AngularJs change back button location while redirecting to new location
[英]AngularJS $location service and “Back” button
例如,当前URL是“ http:// localhost /#/ mail ”。 我做了一些动作,我想转到下一个网址:
$location.path("mail/inbox/3")
效果很好。 我在另一个具有另一个URL的控制器中。 但是,当我单击“后退”浏览器按钮时,希望返回到“邮件”路由,但我改为使用“邮件/收件箱”路由。 为什么? 我该如何解决? 因为对我来说这是不正确的。 谢谢。
当您解雇这个孩子时:
$location.path("mail/inbox/3")
请记住 ,它遍历了when('mail')
和when('mail/inbox')
到达when('/mail/inbox/:number')
。 路由从mail -> inbox -> #3
出发。 这就是为什么当您回击时它将转到mail/inbox
。
这是一个混乱的情况。 ng-router
或ui-router
在简单的情况下会很好,但是随着应用程序的增长,像您这样的错误是不可避免的。
在我的项目中,我使用$locationProvider.html5Mode(false);
禁用了html5Mode
$locationProvider.html5Mode(false);
,实际上是禁用后退按钮。 并在应用程序内添加自定义后退按钮,以供用户向后导航。
该解决方案有助于:
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.