2012-04-19 6 views
1

"거의 모든"화면에 존재하는 루트 레벨 HTML이있는 경우 어디에서 구성 하시겠습니까?BackboneJS 루트 레벨보기

나는 백본 상용구와 requirejs를 사용하고 있습니다. 루트 수준보기 중 하나는 언제든지 화면 아래에서 호출 할 수있는 글로벌 탐색 요소입니다.

이 모델은 모델 (가시성, 선택된 상태, 클릭 로그 등)이있는 모듈로 구성되어 있습니다. 이 앱은에 저장됩니다

내 라우터에서 다음
ClientName.app = _.extend({ rootViews: {} }, Backbone.Views); 

이 방법을 초기화, 난이 :

ClientName.app.rootViews.globalNav = new GlobalNav.Views.BottomView({ model: new GlobalNav.Models.Bottom()}); 

그것은 잘 작동하지만 성장 기능이되는 한, 라우터는 방법은 손에서 점점 초기화 비슷한 루트보기, 서브 라우터 등. 내가 완전히 빠진 것이 있습니까?

무엇을 권하고 싶습니까?

+0

왜 레이아웃에 글로벌 탐색을 추가하지 않습니까? – clexmond

답변

1

Marionette.Region을 확인하셨습니까? 이렇게하면 바닥 글과 같은 특정 div에보기를 할당 할 수 있습니다. 앱의 본문 영역을 다른 영역으로 정의하여 다른 페이지로 이동할 때 동적으로 바꿀 수 있습니다.

라우터는 일반적으로 View Controller에 적합하지 않습니다. 대신, 이런 종류의 일을 아주 잘 처리하는 Marionette를 확인해 보는 것이 좋습니다. application events을 사용하여 페이지 탐색 컨트롤을 구현할 수 있습니다.이 페이지에서 기본보기를 수신 대기하고 영역을 동적으로 바꿀 수 있습니다. 마리오네트 문서 맨 아래의 시작점에 대한 좋은 예제 응용 프로그램을 확인하십시오.