下划线模板:部分或包括

时间:2011-10-20 15:59:48

标签: javascript templates backbone.js underscore.js

我正在使用underscore模板在客户端呈现html。我正在构建一个新闻源,其中包含不同类型的新Feed项,每个项都需要不同的模板。问题是它们在每个Feed项的底部共享相同的Comments区域。因此,我只想模拟一次,但在每个单独的feeditem模板中进行渲染。

在每个Feed项中包含注释而不复制每个Feed项模板中的注释模板的最佳方法是什么?我应该只在主模板外运行注释模板并附加html之后?

1 个答案:

答案 0 :(得分:2)

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

Backbone.View.extend({

    ...

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

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

    ...

});
相关问题