javascript - Angular ui路由器后退按钮问题

标签 javascript angularjs angular-ui-router browser-history

'use strict';

angular.module('cbApp')
  .config(function ($stateProvider) {
    $stateProvider
      .state('search', {
        url: '/college/search',
        templateUrl: 'app/collegesearch/views/collegesearch.html',
        controller: 'collegeSearchCtrl'
      })

      .state('searchCollegeFilter', {
        url: '/college/search/:streamId?cities&courses&branches&ordering',
        templateUrl: 'app/collegesearch/views/collegesearch.html',
        controller: 'collegeSearchCtrl'
      });

  });

这里我的应用程序调用第一个状态,即带有 url/college/search 的“搜索”。在 Controller 内部,我转换到另一个状态 searchCollegeFilter。 我想做的是当用户单击浏览器后退按钮时将用户导航回到他们原来的位置。假设他们来自“/”,我希望他们返回主页。但在浏览器后台历史记录中,有 2 个大学/搜索条目。我希望这种情况只发生第一次。

最佳答案

对于这个北移是用 angularjs 完成的,问题是你需要在导航“window.onhashchange”之前观看浏览器返回事件。通过观察你可以让你检查并可以重定向默认页面

关于javascript - Angular ui路由器后退按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35599503/

相关文章:

AngularJS UI 路由器处理 404s

javascript - 禁用 UI-Router 与 window.location 的交互

javascript - 帮助屏幕抓取/解析

javascript - 如何在所有$ http调用中以 Angular 设置$ http.error()?

angularjs - 如何使用 Protractor 检查元素是否可见?

javascript - 如果有人手动尝试在 angularjs 中访问网站的不同网址,如何重定向回同一页面(他已经所在的页面)

angularjs - ui.router 和 ui.state 之间的 angularJS 有什么区别?

javascript - 我们网站的页脚在桌面版(而非移动版)上消失了,但相关的 HTML/CSS 没有改变

javascript - 我如何使用 jQuery 删除除特定类之外的所有 div 和其他 DOM HTML 元素

javascript - AngularJS $http.get 无法与 Node.js RESTful 一起使用