2014-09-02 2 views
1

저는 AngularJS에서 첫 번째 심각한 프로젝트를 마무리하고 있습니다. 모든 것은 잘 작동하지만 현재 붙어 있습니다.브라우저가 새로 고침 될 때 내 AngularJS 앱은 어떻게해야합니까?

사용자가 브라우저를 새로 고침하면 어떻게됩니까? (예 : F5)?

전통적인 웹 응용 프로그램은 HTML이 생성되는 서버 측에서 실행됩니다. 여기서 브라우저를 업데이트해도 모든 데이터가 서버에 있으므로 많은 문제가 발생하지 않습니다 (예 : 장바구니).

내 응용 프로그램에서는 AngularJS만이 유일한 페이지입니다. 사용자가 할 일을 마치기 전까지는 거의 내 서버로 돌아 가지 않습니다.

그래서이 문제를 극복하고 브라우저를 업데이트 할 때 사용자의 진도를 잃지 않기 위해 내가 할 수있는 일은 무엇입니까?

도움이 되겠습니다.

+0

당신이 절대적으로 가끔 서버를 호출하지 않으려면 HTML5 로컬 저장소에서 찾고 시도 할 수 그것은 당신의 필요에 맞게 수있는 경우에 필요하지 않은 경우 (참조

+0

@rnrneverdies 당신은 내 대답을 보았습니다 –

+0

그래,하지만 인내심을 가지고 연구하고 테스트 할 시간이 필요해. :피 –

답변

0

로컬 스토리지는 사용자 정보 또는 기타 데이터를 저장하는 데 가장 적합한 옵션이라고 생각합니다. 이 같은 주요 모듈

사용 LocalStorageModule의 dependecies는 :

var masterJs = angular.module('masterJs', [ 
    'LocalStorageModule', 
    'ngRoute', 

]); 

내가 로그인 컨트롤러에 로그인 후 일부 데이터를 저장할 필요가 있다고 가정합니다.

angular.module('masterJs') 
    .controller('LoginCtrl', function ($scope, $location, $rootScope, $http, $window,  localStorageService) { 


    $scope.login_dev = function(auth){ 
     var url = 'http://masterjs.in/users/login'; 
     $http({ 
     url: url, 
     method: "POST", 
     data:auth 
     }) 

     .success(function(data, status, headers, config) { 
     localStorageService.clearAll(); 
     localStorageService.set('id', data.data._id); 
     localStorageService.set('token_id', data.token); 
     //var token = localStorageService.get('token_id'); 
     var owner_id = localStorageService.get('id'); 
     $location.path('/account/account-overview'); 
     }) 

     .error(function(data, status, headers, config) { 
     alert("error"); 
     $location.path('/login_dev') 
     }); 

    } 
}); 

을하고 다음 각 로컬-Storage.js를 얻을 수있는 앱에 각 로케일 - Storage.js을 넣고 index.html을 page.you에 그들에 refrence : 그래서 우리는 다음과 같이 로컬 스토리지에 데이터를 설정 링크를 클릭하면 더 자세한 정보를 확인할 수 있습니다.

this 링크 나 this 링크

관련 문제