我想显示加载消息,直到集合视图及其子视图已完全呈现。
答案 0 :(得分:1)
当一个集合中没有项目时,你可以用emptyView
来表示。集合视图将自动处理。只要它看到集合下降到零项,它就会渲染它。用它来显示你的“加载”信息。
LoadingMessageView = Backbone.ItemView.extend({
template: "#loading-message-template"
});
ItemView = Backbone.ItemView.extend({
template: "#normal-item-view"
});
MyCollectionView = Backbone.CollectionView.extend({
emptyView: LoadingMessageView,
itemView: ItemView
});
然后在您的代码中,您可以将尚未加载的集合传递给视图,显示它,然后加载它。
var col = new MyCollection();
var colView = new MyCollectionView({
collection: col
});
App.someRegion.show(colView);
col.fetch();
这将呈现并显示集合视图,最初显示emptyView
的加载消息。当集合完成它的获取时,“reset”事件将触发,集合视图将重新呈现所有项目。
答案 1 :(得分:0)
可以这么简单吗?
// code simplified no tested
var MyCollectionView = Backbone.View.extend({
render: function(){
$("#loading").show();
// render stuff
$("#loading").hide();
}
});
我错过了什么吗?