2017-02-27 4 views
1

제안이 필요합니다.단일 페이지 응용 프로그램 : 로그인 후 뒤로

나는 라우팅을 위해 ui.router를 사용하는 angularjs 앱을 가지고 있습니다.

사용자에게 먼저 로그인 화면이 표시되고 로그인하면 눈금이 표시됩니다. 그리드의 페이지가 매겨집니다.

사용자가 브라우저의 뒤로 버튼을 클릭하면 사용자가 로그인 화면으로 이동합니다.
1.이 올바른 동작입니까, 그렇지 않으면 제안 하시겠습니까?
2. 페이지를 사용하여 3 페이지로 이동 한 사용자는 뒤로 버튼을 사용하여 이전 페이지로 이동해야합니다. 당신이 돌아가 클라이언트를 방지 할 수있는 사전

+0

원하는 동작인지 아닌지는 전적으로 결정해야합니다. –

+0

의견이나 제안 Anony? – lin

답변

1

1)에

덕분에 $stateChangeStart를 사용하여 로그인합니다.

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

변경 URL :이 같은 예를 들어 사용자가 브라우저 기록을 사용하여 뒤로/앞으로 갈 수 있도록

/** 
* 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.) 당신의 페이지 매김 내부의 모든 페이지에 대한 URL을 생성 페이지에서 다시로드하지 않고 클릭하십시오. notify: false :

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