2013-08-07 2 views
1

내 앱에는 페이지가 없습니다. 각 페이지는 개별보기가 있습니다. 그러나 헤더 부분에 내가 렌더링 모든 뷰에 사용자 이름을 표시해야합니다 .. 그것을위한 가장 좋은 방법 일 것입니다 무슨 ..Backbone.js의 모든보기에서 사용자 이름을 유지하는 방법

내가 .. 말 옵션의 일부에 걸쳐

1. render the header view even before the router starts 

2. use the routers '*' - notation to call the header view always. 

3. keep the header view as a sub view of all page views - and keep call header view on all page view.. 

와서 무엇을 올바른 방법이 될 것입니다 ... 제발 가장 좋은 방법을 제안 하나.

+1

전체 질문을 얻지 못했지만 여기에 단일 페이지 앱에 대해 이야기하고 있다고 가정하면 페이지에 헤더보기가 있고 사용자 동작에 따라 다른 본문 태그를 새로 고치는 것이 분명해 보입니다. –

+0

광산은 단일 페이지 앱이지만 여러 페이지가 있습니다. 다른보기를 사용하여 새로 고침 및로드하지 않고 모든 페이지를 표시합니다. – 3gwebtrain

+1

예 ... 실제로는 단일 페이지 응용 프로그램의 요지입니까? 페이지 전체를 다시로드하지 않아도 앱 전체에서 그대로 유지됩니다. http://backbonejs.org/docs/todos.html – j03w

답변

1

머리글을 포함하고 한 번만 렌더링되는 레이아웃보기가 있습니다. 그런 다음 탐색 할 때 문서의 내부 부분 만 렌더링하십시오. URL을 변경하고 새 라우트를 트리거한다고해서 항상 DOM 전체가 다시 렌더링되어야 함을 의미하는 것은 아닙니다. DOM을 가능한 한 작게 변경하십시오. 또한 Backbone과 같이 중첩 된 뷰의 아이디어를 연구하십시오. 다른 접근법 인 Mariionette.

+0

날이 부분을 설명 할 수 "머리글과 한 번만 렌더링"..? (페이지를 새로 고침 할 때 사용하지 않아야 함) – 3gwebtrain

+0

라우터에서만 레이아웃 (머리글/바닥 글)을 렌더링하여 처리 한 다음 루트 처리기에서 본문을 렌더링합니다. 헤더 선택기가 DOM에 있는지 확인하고 라우터 로직을 통해 렌더링 로직을 일관되게 작동시키지 못하면 렌더링이 건너 뛰면 건너 뛸 수도 있습니다. –