2011-10-20 49 views
1

我使用underscore模板在客户端上呈现html。我正在构建一个新闻订阅源,其中包含不同类型的新订阅源项目,每个项目都需要不同的模板。问题是它们在每个Feed项目的底部共享相同的评论区域。因此,我只想模板一次,但将其渲染到每个独立的feeditem模板中。下划线模板:部分或包含

如果不在每个供稿项目模板中重复评论模板,在每个供稿项目中包含评论的最佳方式是什么?我应该只在主模板之外运行评论模板并追加html吗?

回答

2

将评论模板分开是明智的做法,特别是考虑到您应该有评论的模型和集合。最好的办法是让每个模板都包含像<div class="comments-section"></div>这样的东西。然后在你的backbone.js视图中,你可能会有这样的事情:

Backbone.View.extend({ 

    ... 

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

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

    ... 

});