2017-01-24 1 views
0

ionic으로 앱을 개발하면 로그인시 rootScope variables과 같은 변수를 저장하고이 변수를 애플리케이션 실행 중에 http requests에 재사용해야합니다.시간이 지나면 rootScope 변수가 null이됩니다

내 문제는 얼마 후 rootScope variables are null 시간이 지나면 앱 실행에 오류가 발생합니다.

$rootScope.mail = user.username; 

가 어떻게이 문제를 해결할 수

:

나는 이런 식으로 변수를 저장?

감사의

+2

코드를 입력하십시오. – Mistalis

+0

루트 스코프 대신 로컬 스토리지 사용 시도 –

+0

@Mistalis – Edoardo

답변

0

가장 좋은 방법은 서비스

sample.service('sampleService', function($http){ 

    var hat = false; 

    this.setUserAuthenticated = function(value){ 
    hat = value 
    }; 

    this.getUserAuthenticated = function(){ 

    return hat; 
    }; 
}); 
+0

고맙습니다. 시도해 보겠습니다. – Edoardo

0

에서 getter와 setter 메소드를 작성하는 것입니다 이것은 아마도 세 가지 이유 중 하나로 인해 발생됩니다 : 당신은 다시로드

  1. 어떤 시점에서 페이지. 이로 인해 앱에서 상태를 재설정합니다 (단일 페이지 앱은 페이지를 새로 고침해서는 안됩니다)
  2. 어떤 시점에서 $rootScope.mail을 매개 변수로 사용하고 현재 데이터를 삭제하거나 재정의했습니다. angular.copy을 사용하는 것을 피할 수 있습니까?
  3. 일부 지점에서 직접 삭제되며 사용자는 알지 못합니다.

여하튼는 ebst 연습 대신, 언제든지 $rootScope을 사용하지 않는 데이터 및/또는 저장 장치 (localStorage 등) 저장하고 통신하는 공장을 만드는 것입니다.

0

로컬 저장소에 변수를 저장하고 로컬 저장소에서 데이터를 검색하여 사용하는 것이 좋습니다.

localStorage.setItem("username",user.username); 

localStorage.getItem("username"); 
관련 문제