我有一个CompositeView,我在初始化时获取它的集合。
initialize: function() {
this.collection = this.model.things;
this.collection.fetch();
},
如果 它的集合为空,我该如何不渲染它?
我知道EmptyView
,但仍然会呈现复合视图的模板。如果集合是空的,我想不渲染任何东西。
答案 0 :(得分:4)
答案最终是在fetch
的延迟对象返回后呈现复合视图。
initialize: function() {
var self = this;
this.collection = this.model.localFoods;
this.collection.fetch().then(function() {
self.render();
});
}
当前得分
async:23,me:0
异步获胜!
答案 1 :(得分:0)
来自文档:
当集合的“重置”事件被触发时,它只会重新渲染 复合中的集合,而不是包装器模板
因此将{reset: true}
传递给fetch()
,因此系统会自动重新呈现:
initialize: function() {
this.collection = this.model.things;
this.collection.fetch({reset: true});
}