2011-10-20 2 views
1

underscore 템플릿을 사용하여 클라이언트 측에서 html을 렌더링합니다. 나는 각각 다른 템플릿을 필요로하는 새로운 피드 항목의 다른 유형을 포함하는 뉴스 피드를 구성 중입니다. 문제는 각 피드 항목의 맨 아래에 모두 같은 댓글 영역을 공유한다는 것입니다. 따라서이 템플릿을 한 번만 템플릿으로 만들고 싶지만 별도의 각 피드 템플리트 템플릿에서 렌더링해야합니다.밑줄 템플릿 : 부분 또는 포함

각 피드 항목 템플릿 내에 코멘트 템플릿을 복제하지 않고 각 피드 항목 내부에 댓글을 포함시키는 가장 좋은 방법은 무엇입니까? 그냥 기본 템플릿 외부에서 주석 템플릿을 실행하고 HTML을 추가해야합니까?

답변

2

주석 템플릿을 별도로 유지하는 것이 현명 할 것입니다. 특히 주석의 모델과 컬렉션이 있어야한다는 점을 감안할 때 더욱 그렇습니다. 가장 좋은 아이디어는 각 템플릿에 <div class="comments-section"></div>과 같은 것을 포함시키는 것입니다. 그러면 백본에서 .js보기에서 다음과 같이 할 수 있습니다.

Backbone.View.extend({ 

    ... 

    getCommentsEl: function() { 
     return this.$('.comments-section'); 
    }, 

    addCommentsSection: function() { 
     this.getCommentsEl().html(_.template(...)); 
    } 

    ... 

});