簡體   English   中英

角ui路由器后退按鈕問題

[英]angular ui router back button issue

'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'
      });

  });

在這里,我的應用程序使用網址/ college / search調用第一狀態,即“搜索”。 在控制器內部,我轉換到另一個狀態searchCollegeFilter。 我想做的是,當用戶單擊瀏覽器的“后退”按鈕時,將用戶導航回到他們來自的后方。 說他們來自“ /”,我希望他們回到主頁。 但是在瀏覽器的歷史記錄中,有2個條目用於大學/搜索。 我希望這僅是第一次發生。

因為這個問題與angularjs有關,所以事情是您需要在瀏覽“ window.onhashchange”之前觀看瀏覽器的后退事件。 通過觀察可以檢查並可以重定向默認頁面

我在其他應用程序中所做的工作將達到目的:

基本上: 指定父狀態

->然后邏輯變得容易了。

您不必詳細說明歷史記錄或后退按鈕或類似內容。

基本上:

->簽入

  • $ rootScope。$ on(“ $ onstateChange”,...

->如果

  • fromState.parent等於State.parent
  • 然后$ window.history.replaceState({},“我的詳細信息狀態頁”,$ state.url(toState)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM