2016-07-25 3 views
1

각도 적용시 다음과 같은 문제가 있습니다. - 첫 번째 페이지는 양식과 검색 목록이있는 검색 페이지입니다. 검색 결과는 이며 페이지 번호가이고, 다음 버튼 10 개를 표시하는 "더보기"버튼이 있습니다. - 결과를 클릭하면 요소에 대한 자세한 정보 (기본 검색 동작)가 두 번째 페이지로 이동합니다.각도 : 요소를 선택한 후 검색 목록으로 돌아 가기

내 문제는 다음과 같습니다. 요소 페이지에서 브라우저의 뒤로 단추를 클릭하면 사용자가 검색 페이지로 이동하지만 검색이 손실됩니다.

양식을 서비스에 저장하기 위해 캐시를 구현했습니다. 이렇게하면 자동으로 검색을 다시 시작할 수 있습니다. 그러나이 경우 스크롤이 손실되고 10 개의 첫 번째 결과 만 표시됩니다 (페이지 매김이 손실 됨).

이 유일한 해결책은 "더보기"버튼을 클릭 할 때마다 기록에 항목을 추가하는 것입니다. 그러나 창 스크롤 수준의 어딘가에 저장해야합니다. 나는이 솔루션이 매우 복잡하고 짜증나지만 아름답지는 않다.

그래서 질문이 있습니다. 공통점이 있고 쉬운 방법이 있습니까?

아약스/각도 적용의 일반적인 문제라고 생각합니다. 앨범을 선택할 때도 마찬가지입니다.)

답변

0

이것은 url 매개 변수를 통해 관리해야합니다 ... 응용 프로그램 라우터는 응용 프로그램 상태를 요구할 수 있어야합니다. 서버 측 검색 결과를 관리 할 때 클라이언트 측 검색 결과를 관리해야합니다.

예 : 메일을 통해 검색 결과를 공유하면 어떻게됩니까? http://myapp.com/search?page=1&...

당신이 찾고있는 무엇 브라우저의 history.back의 BTN 정확히 않는 이런 방식으로 응용 프로그램을 구조화 : 모든 응용 프로그램 상태가 URL에 보관해야 간주하는 이유

이입니다.

+0

의견을 보내 주셔서 감사합니다.이 매개 변수를 구현하기 시작했습니다. 그러나 아약스 애플리케이션으로 브라우저 캐시를 사용할 수없는 이유는 무엇입니까? 예를 들어, JSF 애플리케이션에서 이전 버전으로 되돌아 갔을 때, 로컬 캐시 만 사용하는 새로운 요청은 전혀 없습니다 (cf. http://stackoverflow.com/questions/15493276/browser-back-button-navigation) – Rolintocour

+0

Java Server Faces를 알지는 못하지만 ... 브라우저 캐시는 서버 또는 프레임 워크가 아닌 브라우저에 의존하며 항상 사용되며 ** HTTP ETag **에 따라 많은 요청이 건너 뜁니다. , 귀하의 응용 프로그램은 그렇게 할 수 있도록 최적화되어 있지 않습니다. 개발자 도구를 열면 네트워크 패널에서 리소스가로드되는 방법과 해당 상태 코드가 표시됩니다. 304는 일반적으로 리소스가 수정되지 않고 로컬 버전으로 사용될 수 있음을 의미합니다. 클라이언트 캐싱은 HTML5 애플리케이션 캐시 및 서비스 작업자를 통해 최적화되어야합니다. – Hitmands