2013-07-03 3 views
1

저는 Backbone과 Marionette을 사용하여 자바 스크립트 웹 앱을 작성하고 있습니다. 내 템플릿은 Handlebars를 사용하여 만들어졌습니다.Handlebars 템플릿에 조건부 논리를 포함 시키거나 javascript를 사용 하시겠습니까?

진행률 표시기, 결과 목록 및 바닥 글의 세 부분으로 구성된보기가 있습니다. 이들 각각은 작업이 진행 중이거나 오류가있는 경우 표시되거나 숨겨 질 수 있습니다.

나는 {{unless resultsFetched}}의 라인을 따라 핸들 템플릿의 조건 코드를 포함하고 종종 this.render()을, 또는 this.ui.resultsList.show()this.ui.resultsList.hide() 같은 관점에서 자바 스크립트를 사용해야합니까?

감사합니다. 여기에 업데이트

내가보기 템플릿에 로직을 가진 몇 가지 장점과 단점이 생각하는 무엇 :

장점 :

  • 나는이 선언 (대신과 같은 생각 즉, 모델 상태를 기반으로 특정 방식으로 작동 할 것이라고 말합니다.
  • 상황이 더 복잡해지면 show()hide()이 광범위하게 사용되는 자바 스크립트 코드보다 조건부 논리가있는 템플릿을 읽는 것이 더 쉬울 것입니다.

단점은 :

  • 는 MVC 아키텍처는 여전히 순종 중입니다

    ?
  • 이것은 논리없는 전망
  • 일반적으로

답변

0

의 콧수염의 철학에 반하는, 당신은 가능한 한 뷰에 많은 로직을 유지하고 만 템플릿 프리젠 테이션을 할 수 있습니다. 항상 실용적인 것은 아니지만 앱의 크기가 클수록 템플릿을 원하는 청소기가됩니다.

저는 오늘 Underscore 템플릿에서 for 루프를 사용했습니다. DOM에 추가하는 목록의 작은 것들에 대해 CollectionView-ItemView 콤보가 필요하지 않았기 때문입니다.

TL : DR; 내 첫 번째 단락을 고수하려고하지만 본능을 사용하십시오.

관련 문제