【问题标题】:With angularjs and ui-router, how to disable the 'back' button for one page使用 angularjs 和 ui-router,如何禁用一页的“后退”按钮
【发布时间】:2015-10-16 18:07:02
【问题描述】:

我的应用程序有一个视图和一个主页,当用户打开主页时,我不希望出现“返回”按钮。我该怎么做?

【问题讨论】:

  • 你不能。它是最终用户的浏览器,而不是您的。如果最终用户想要返回,他可以。
  • 如果您正在测试,这也是您的浏览器出现的错误,并且如果您第一次使用您的应用打开浏览器并且突然有一个后退按钮,那么您可能正在使用页面加载时 $location.path() 错误
  • 也许您正在寻找一种在使用路由时禁用后退按钮功能的方法?在我的情况下,我所做的是避免路由器并在我的脚本中对页面和状态进行更改

标签: angularjs angular-ui-router


【解决方案1】:

没有办法禁用。您可以做的一件可以实现不允许用户向后退的目标的事情是检测您想要避免的向后转换并在 $state.go 中返回 fromState。这将产生后退按钮不做任何事情的效果。类似:

 $scope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {

    if (goingBackwardsAndShouldntBe(toState, fromState)) {
      $state.go(fromState.name);
      return;
    }   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-10
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2011-08-31
    • 2021-10-24
    相关资源
    最近更新 更多