0

我正在使用主干为页面加载所有帖子。并在单击“获取所有评论”链接时加载帖子的评论。我收到了来自 Ajax 调用的所有评论。

Social.Views.StreamsIndex = Backbone.View.extend({

    comment_template: JST['streams/comment'],

    comment_displayall: function(data, post_id) {
      this.$("#comments").html(this.comment_template({
        comment: data // Here data is array
      }));
    }
});

我有comment.jst.ejs 文件现在有一个循环,但我必须把它放在视图中

  <% _.each(comment.comments,function(comment){ %> // I want to get rid of this Line
 <div class="stream_comment">
   <div class="stream_commentphoto">
    <a><img src="<%= comment.actor.thumbnail.url %>"></a>
   </div>
   <div class="stream_comm-content">
    <a href="#"><h5><%= comment.actor.displayName %></h5> </a>
    <p><%= comment.content %></p>
   </div>
 </div>
<%}%>

如何通过在视图中添加循环来摆脱评论模板中的循环?

4

1 回答 1

1

也许是这样的:

comment_displayall: function(data, post_id) {

    //clear any existing comments
    var $comments = this.$("#comments").empty();

    //render each comment separately and append to the view
    _.each(data.comments, function(comment) {
        $comments.append(this.comment_template({comment:comment});      
    }, this);
}

并且只需删除模板的循环结构(第一行和最后一行)。

/代码示例未测试

于 2013-04-23T10:37:23.397 回答