2016-02-24 46 views
0
'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 /學院/搜索。在控制器內部,我轉換到另一個狀態searchCollegeFilter。 我想要做的是將用戶導航回到他們來自他們從後面點擊瀏覽器後退按鈕。說他們來自'/'我希望他們回到主頁。但在瀏覽器歷史記錄中,有2個條目用於大學/搜索。我希望這只是第一次發生。角度ui路由器後退按鈕問題

+0

檢查這個帖子:http://stackoverflow.com/questions/ 22247294 /如何-DO-I-得到最後退按鈕到工作與-AN-angularjs的UI路由器狀態機 – shershen

回答

1

對於這個northing是用angularjs做的,事情是你需要在瀏覽「window.onhashchange」之前觀看瀏覽器返回事件。通過觀察,你可以讓你檢查,並可以重定向默認頁面

1

我在做什麼在不同的應用程序將達到目的:

基本上是:指定父狀態

- >然後邏輯變得容易。

你不必具體關於歷史或後退按鈕或類似的東西。

基本上:

- >入住

  • $ rootScope $上( 「$ onstateChange」,...

- >如果

  • 來自State.parent的等於State.parent
  • 然後$ window.history.replaceState({}, 「我的詳細信息頁面國家」,$ state.url(使用toState)