2012-09-10 3 views
4

지역에보기를 렌더링 할 때 자동으로 포장 컨테이너 태그를 추가하지 않도록 백본/마리오네트에게 알릴 수있는 방법이 있습니까?백본 마리오네트보기 및 포장 컨테이너

예를 들어 항목 목록을 표시하고 싶다고 가정 해 보겠습니다. 내가 그렇게 할 방법은 하나의 복합 뷰 찾고 외모를 가진 것입니다이 :

<ul> 
</ul> 

그리고 다음과 같다 다음 항목보기 :

지금
<li><%= title %></li> 

난 쉽게 동일한 출력에 의해 얻을 수 있습니다 그러나 자동 생성 된 요소에 사용 된 태그를 변경하는 것은 백본/마리오 네트에 의해 자동으로 생성 된 태그가없는 가장 큰 이유는 가능한 한 많은 HTML을 템플릿에 유지하고자하기 때문입니다. 어떤 이유로 든 목록을 표로 변경하려는 경우 모든 HTML이 템플리트에 포함되어 있으면 두 템플리트 파일 만 변경하면됩니다. 다른 방법으로는 2 개의 템플릿 파일과 2 개의 자바 스크립트 파일을 변경해야합니다 (변경해야하는 파일이 적어 오류 발생 가능성이 적습니다). 나는 그 수준의 관심을 갖고 싶어한다.

+0

복제본 [Backbone.Marionette의 항목보기 및 레이아웃에서 추가 div 수 있음] (http://stackoverflow.com/questions/11183130/extra-divs-in-itemviews-and-layouts-in-backbone-marionette) –

답변

0

백본도 마리오 네트도 지원하지 않습니다. 그러나 당신이 약간 비틀기를 가진이 행동을 얻을 수 있던 경우에 나는 상상한다.

Backbone.Viewel가 제공되지 않는 경우와 tagNameclassName에서 el를 구성 _ensureElement 불리는 방법이있다.

_ensureElement을 덮어 쓰면 템플릿을 먼저 렌더링 한 다음 첫 번째 태그 이름을보기의 tagName으로 사용할 수 있습니다. 또한 템플릿의 외부 태그를 제거하려면 Marionette.Renderer.render을 재정의해야합니다.

이 논리를 달성하기 위해 더 나은 방법을 재정의 할 수 있습니다. 또한 선택적으로이 동작을 전환 할 깃발을 제공하여 필요한대로 혼합하고 일치시킬 수 있으므로 디버깅에도 도움이 될 것이라고 조언합니다.