programing

AngualrJ: html 갱신 시 데이터 유지

starjava 2023. 3. 8. 20:32
반응형

AngualrJ: html 갱신 시 데이터 유지

몇 개의 데이터를 angular js의 캐시에 로드하고 페이지를 새로 고친 후 캐시에서 데이터를 다시 표시할 수 있는 방법이 있습니까?

현재 문제는 페이지를 새로 고칠 때마다 모든 JS가 새로고침되기 때문에 공유 서비스 앱에서 공유된 세부 정보가 다시 초기화된다는 것입니다.

로그인 페이지와 홈페이지가 있습니다.로그인 성공 시 $route를 사용하여 홈페이지로 라우팅하여 로그인을 브로드캐스트합니다.홈페이지 컨트롤러 아이디이제 이 홈페이지를 새로 고치거나 URL을 복사하여 다른 탭에 붙여넣을 때 동일한 데이터가 존재하기를 원합니다.단, 제 경우 htmls/javascript가 새로고침되고 있기 때문에 null로 초기화됩니다.

여기서 사용할 수 있는 각도 기술은 없나요?

토론을 보세요.

소량의 데이터(<= 4k)에 대해서는 $cookieStore를 사용할 수 있지만, 그 이후에는 localStorage가 앱을 HTML5 호환 브라우저에 연결한다는 점에 유의하십시오.

백엔드에 약간의 상태를 유지해도 괜찮으시다면 그것도 옵션입니다.

번째 코멘트를 기반으로 편집

사용자가 새로 고침을 눌렀을 때 해당 페이지를 전혀 누르지 않은 것처럼 보이게 하는 것이 목표인 것 같습니다.이러한 변경이 있을 경우 항상 전체 애플리케이션 상태를 localStorage(범위, DOM 속성, 상태 저장 서비스)에 유지해야 합니다.이것이 권장되는지는 잘 모르겠습니다.

다만, 기능할 수 있을 만큼 충분히 가까워질 수 있습니다.

위에서 답변을 확대하려면:

  • URL을 사용하여 Angular의 $route 서비스를 사용하여 응용 프로그램 상태를 설명합니다.기사는 Ember에 특유한 기사이지만 URL과 상태를 설명하는 은 항상 마음에 들었습니다.

  • 새로고침 시 클라이언트가 스크립트를 새로고침하지 않도록 하는 한 그렇게 할 방법은 없습니다.가장 가까운 방법은 서버에서 해당 스크립트의 304(수정되지 않음) 코드를 반환하는 것입니다.

  • 범위 데이터와 서비스 상태는 위에서 설명한 대로 로컬 스토리지에서 유지되어야 합니다.

리프레시 문제는 귀찮지만 실제로는 가능한 한 스테이트리스하게 생각하게 되어 스테이트리스 코드를 유지 및 테스트하는 것이 훨씬 쉬워집니다.좋은 점을 찾고 있는 경우:)

언급URL : https://stackoverflow.com/questions/12617103/angualrjs-sustaining-data-on-html-refresh

반응형