2017-02-27 80 views
1

需要您的建議。單頁應用程序:登錄後返回

我有angularjs應用程序,使用ui.router進行路由。

用戶首先顯示一個登錄屏幕,登錄時顯示一個網格。 網格分頁。

現在,如果用戶點擊瀏覽器後退按鈕,用戶將被帶到登錄屏幕。
1.這是正確的行爲,你會建議嗎?
2.另外,如果用戶移動到3頁使用分頁應該後退按鈕使用戶到前一頁。

在此先感謝

+0

這完全取決於您自己決定是否您想要的行爲或不行爲。 –

+0

任何意見或建議Anony? – lin

回答

1

1)你可以阻止客戶端回去用$stateChangeStart登錄。例如像這樣:

/** 
* Before state change/page switch 
*/ 
$rootScope.$on("$stateChangeStart", function (event, next, current, fromState, fromParams, options) { 

    //verify login state 
    if ($cookies.get('loggedIn') !== undefined) { 
     if (next.templateUrl !== "views/login.html") { 
      $timeout (function() { 
       event.preventDefault(); 
       $state.go('app.overview'); 
      }, 50); 
     } 
    } 
}); 

2)爲您的分頁中的所有網頁的網址,以便用戶能夠使用瀏覽器的歷史去前進/後退:

.state('app.list', { 
    url: '/list/:pageId', 
    templateUrl: 'views/list.html' 
}) 

更改URL在頁面點擊不用重新加載使用notify: false

$state.go('app.list', {pageId: yourNextdPageId}, {notify: false})