从View中渲染数组而不需要在模板中进行循环
Backbone.js - Rendering array from View without making a loop in the template
我正在使用backbone加载页面的所有帖子。当点击"获取所有评论"链接时,加载帖子的评论。我从一个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
}));
}
});
我有评论。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>
<%}%>
我怎么能摆脱循环内评论模板,通过添加循环在视图?
可能是这样的:
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);
}
然后删除模板中的循环结构(第一行和最后一行)。
/代码样本未测试
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环遍历以数组为值的Javascript对象
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 循环结束/推送到数组之前在页面上呈现EJS
- 循环比赛位置算法
- jQuery循环在特定位置暂停
- 我的javascript for循环不起作用
- 使用 .each 循环遍历 Backbone View 中具有相同类的元素
- Razor View查找在循环中从javascript分配的Id
- 从View中渲染数组而不需要在模板中进行循环