2014-07-22 2 views
0

저는 Angular를 처음 사용합니다. ng-view 지시문을 처음 사용했습니다. 을 많은 연속 링크를 클릭시, 나는 폰갭 응용 프로그램을 개발하고 있는데 나는 그것을 발견 :AngujarJS - ngRoute/ngView - 누적보기

$location.path('/somePath') //this is illustrative - path depends on link clicked 

새로운로드 뷰가 쌓여있다. 이것은 다음을 의미합니다. N 개의 링크 (또는 N 건의 $location.path)를 따라 가면 안드로이드 장치에서 백 화살표를 클릭하여 N + 1 번 눌러 프로그램을 종료해야합니다. 비록이 동작은 나를 위해 (나는 여기 n00b), 내 응용 프로그램에 필요한 기본 사용자 경험을 좋아 보인다 (그것은 역사 스택과 관련이 있습니까?) -하지만 또한 나는 "메인 메뉴로 이동합니다 "버튼을 클릭하고 해당 버튼을"스택 지우기 "로 설정하고 첫 번째 화면으로 돌아 가야합니다.

왜 필요합니까? 내 앱을 앞뒤로 탐색하고 있었기 때문에 (현재 "메인 메뉴로 이동"버튼은 $location.path('/')을 다시 스택하고 메인 메뉴보기를 다시 채 웁니다.) 뒤로 화살표 버튼을 사용하여 응용 프로그램을 닫으려고 할 때 그 버튼을 성가신 양의 시간 동안 쳤다.

그래서 : 메인 메뉴 버튼을 클릭하면 어떻게 스택을 지울 수 있습니까? ($location.path('/') 대신)

답변

0

phonegap 앱을 만드는 경우 실제 URL이 중요하지 않다고 가정합니다. ng-route 대신 ui-router 모듈을 보길 원할 것입니다. 단순 경로보다 상태에 더 초점을 맞추기 때문입니다. $ 위치를 전혀 변경하지 않고 필요에 따라 전환을 사용하여 상태로 쉽게 이동할 수 있습니다 (문제가 발생하지 않도록). 또한 ui-router는 명명 된 뷰와 중첩 된 뷰를 지원하므로 프로젝트에 적합한 경우 템플릿을 작은 조각으로 나눌 수 있습니다.

죄송합니다. 귀하의 질문에 직접 답변을 드리지는 못하지만, ui-router는 귀하가하려는 일에 더 나은 도구라고 생각됩니다.

https://github.com/angular-ui/ui-router

+0

나는 이것을 해결해야합니다. ui-router를 사용하여 뷰에서 모든 상태를 팝하는 방법은 무엇입니까? UX를 ​​많이 탐색하고 나가기 위해 "돌아 가기"를 클릭하고 버튼을 여러 번 클릭해야하는 경우 UX가 끔찍할 것입니다. ** 문제에서 ui-router는 어떻게 다릅니 까? –

+0

$ location.path를 변경하면 새 페이지로 이동하는 것과 같습니다. 그것은 일반적인 링크를 탐색하고 뒤로 버튼이 돌아갈 때와 마찬가지로 브라우저 기록에 넣습니다. ui-router가이를 해결하는 방법은 경로 (또는 브라우저 기록)를 변경하지 않고도 상태를 변경할 수 있도록 허용하는 것입니다. 앱이 딥 링크를 지원해야하는 경우 브라우저의 URL을 변경해야하기 때문에 앱 주위에 실제 방법이 없습니다. –