我正在通过一个骨干网络应用程序(相当新的骨干网),并在我获取它时需要一些帮助来迭代一个集合。我想要做的是遍历集合中的每个元素,如果progress
属性100
显示导入的<div>
,则显示加载<div>
。
我对集合中的最后一个元素的工作如下:
fileRepositoryCollection.fetch({
success: function () {
if (fileRepositoryCollection.at(fileRepositoryCollection.length - 1).get('progress') === 100) {
$('#loading').hide();
$('#imported').show();
} else {
$('#loading').show();
$('#imported').hide();
}
}
});
答案 0 :(得分:1)
您不应该在集合类中呈现html。您的集合视图应该具有渲染方法,用于定义集合在html中的外观。然后,您在视图中迭代集合。
这样的事情:
var fileRepositoryCollectionView = Backbone.View.extend({
render: function() {
// collection rendering
this.collection.each(function(file) {
if (file.get('progress') === 100) {
$('#loading' + file.get('some_id')).hide();
$('#imported' + file.get('some_id')).show();
} else {
$('#loading' + file.get('some_id')).show();
$('#imported' + file.get('some_id')).hide();
}
});
return this;
},
});
var repView = new fileRepositoryCollectionView({ collection: fileRepositoryCollection});