방금 새 프로젝트를 시작했습니다. 필자는 전체 화면 브라우저 (주소 표시 줄, 고정 해상도)로 원격 제어 장치에서 실행될 웹 응용 프로그램을 "기본 느낌과 함께"구축하고 있습니다. UI는 기본적으로 여러 개의 전체 화면보기로 구성됩니다. AngularJS는 현재 여러 가지 이유로 선택의 무기입니다. 나는 'ui-router'와 그 'states'에 다양한 견해를 구성하려고 노력해 왔습니다. 예를 들면 다음과 같습니다.AngularJS ui-router의 대안
/#/desktop
/#/menu
/#/videoStore/posterView
/#/videoStore/listView
필자는 템플릿, 컨트롤러 및보기 당 URL이 있습니다. 보기를 전환 할 때 페이지가 다시로드되지 않는다는 사실이 가장 중요합니다. 그러나 내가 부족한 부분이 있습니다.
더블 버퍼링
나는 그것을 전환하기 전에 다음 상태/뷰를 준비 할 수 있어야합니다. ui-router은 이 아닌이되는 일련의 이벤트를 제공합니다. onEnter
, $stateChangeStart
및 $stateChangeSuccess
은 모두 state/view controller
이 구성되기 전에 호출됩니다. 차라리 이러한 이벤트를 에 전환하기 전에 컨트롤러라고 부릅니다. 예를 들어 onStart
이 처음 시작될 때 onResume
이력서에 표시됩니다.
역사 동작
상태는 템플릿이 다시 DOM에 추가되고 새로운 컨트롤러가 인스턴스화 의미, 내가 입력 할 때마다 재구성 할 것으로 보인다. 이는 불필요하며 성능을 저하시킵니다. videoStore를 떠날 때 메뉴를 재구성 할 필요가 없습니다. 사실, 하위 폴더의 같은 항목에 초점을 맞추어 다시 만들지 않고도 정확히 동일하게 유지하려고합니다.
은
나는 확실히 키 중 하나를 올바른 상태/뷰 또는 서브 뷰에 갈 수 있도록하는 방법을 알아 내지 못했다 Keyhandling. 본문에 리스너를 추가하고 현재 범위로 키를 보내는 것을 고려했습니다. 한 상태 내에서 여러보기를 가질 때 어떤 범위가 "활성"인지에 대한 불확실성으로 인해 그렇게 할 것이라고는 생각하지 않지만. 상태 /보기 컨트롤러에 어떤 종류의 onFocus
이벤트가 좋을 것입니다. 또한 $$ (private) 필드를 탐색하지 않는 한 각도에서 "활성"범위를 가져올 수있는 방법이없는 것으로 보입니다.
괜찮습니다. 읽어 주셔서 감사합니다.
여기 내 질문은 :
- 이
ui-router
와 함께 "할 수 있도록"그들의 어떤 방법이 있나요? 나는 그것을 단지 이틀 동안 평가했고 충분히 놓친 것 같다. ui-router
에 대한 가치있는 Angularjs 대안이 있습니까?- 거기에 내가 설명하는 것과 유사한 것들을 수행하는 다른 Javascript 프레임 워크가 있습니까?
언급 할 가치가 있습니다. 대상 장치가 약하고 브라우저가 필요합니다. – Hampus
어떻게 문제를 해결합니까? – Chexpir
@Hampus, 어떻게 문제를 해결했는지 궁금합니다. ui-router가 앱을 만드는 방법에 대한 가정은 또한 '기본 느낌'에 대한 나의 욕구를 제한하고 있습니다. 당신이 무엇을하기로 결심했는지 알고 싶습니다. –