일부 응용 프로그램 상태 정보는 전역 액세스 할 수 있도록 Angular 서비스에 저장해야합니다. AngularJS에서 전역 변수를 업데이트하는 방법은 무엇입니까?
app.value('identity', {});
그런 다음 로그인 한 후 처음보기의 컨트롤러. 나는 서버 측에서 응용 프로그램 상태 정보를 수집하는 GET API 호출을합니다. 성공 콜백에서 데이터를 전역 변수 (서비스)로 전송하십시오.
function successCallback(data) {
identity.username = data.username;
identity.email = data.email;
}
은 내가
identity
내 응용 프로그램을 통해 데이터를 개최한다 가정. 그러나 그것은 사실이 아닙니다! 내 다른 뷰에서 나는 컨트롤러
app.controller('anotherController', ['identity', anotherController];
function anotherController(identity){
// access identity here.
$scope.username=identity.username;
}
에 내가 그보기에 와서 처음 identity
을 주입. username
이 페이지에 올바르게 표시됩니다. 그러나 새로 고침 후 identity
이 다시 null로 표시됩니다. 가치를 정말 끈기있게 만들기 위해 우리는 무엇을 할 수 있습니까?
"후
컨트롤러 ...
: 나는 정체성 속성에 콜백의 응답을 지정할 것 새로 고침 "F5 스타일로 새로 고침을 의미합니까? –
예. F5 이후. – Blaise
서비스는 각진 앱에서 싱글 톤이지만 전체 앱이 F5 키로 다시 시작됩니다. 'localStorage'로 상태 클라이언트 측을 유지할 수 있습니다. –