gpt4 book ai didi

javascript - AngularJS $location 服务和 "Back"按钮

转载 作者:行者123 更新时间:2023-12-03 08:21:46 25 4
gpt4 key购买 nike

例如,当前 URL 为“http://localhost/#/mail ”。我执行了一些操作,并且想要转到下一个网址:

$location.path("mail/inbox/3")

效果很好。我在另一个具有另一个 URL 的 Controller 中。但是,当我单击“后退”浏览器按钮时,我希望返回到“邮件”路线,但我没有转到“邮件/收件箱”路线。为什么?我该如何修复它?因为这对我来说是不正确的。谢谢。

最佳答案

当你点燃这个婴儿时:

$location.path("mail/inbox/3")

记住它遍历了 when('mail')when('mail/inbox') 到达 当('/mail/inbox/:number')。该路线从邮件 -> 收件箱 -> #3 开始。这就是为什么当您回击时,它会转到邮件/收件箱

这是一个需要解决的困惑情况。当事情很简单时, ng-routerui-router 很好,但随着应用程序的增长,像您这样的错误是不可避免的。

在我的项目中,我使用 $locationProvider.html5Mode(false); 禁用 html5Mode,实质上禁用了后退按钮。并在应用程序内添加自定义后退按钮,供用户导航返回。

此解决方案有助于:

  • 用户根本无法使用后退按钮,因此他无法达到不需要的状态
  • 有时可以配置或隐藏自定义后退按钮。根据当前应用状态,在同一 View 上以不同方式执行的事件代码。
  • 对用户隐藏应用内部 URL,以避免应用被利用来获取用户不应看到的数据。

我希望这会有所帮助。

关于javascript - AngularJS $location 服务和 "Back"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719311/

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