коллекция выборки магистрали при загрузке страницы
я знаю, что док магистра говоритfetch should not be used to populate collections on page load& # xFF0C; и я как бы выясняю, почему:
var appCollection = Backbone.Collection.extend({
model:appModel,
url:'api/app',
initialize:function(){
this.fetch();
},
});
var homeView = Backbone.View.extend({
el:'#content',
initialize:function(){
this.collection = new appCollection(appModel)
this.render()
},
render: function () {
var that = this;
alert(1);
_.each(this.collection.models, function (item) {
that.renderApp(item);
}, this);
},
renderApp: function (item) {
var appview = new appView({
model: item
});
this.$el.append(appview.render().el);
}
})
var home = new homeView();
функция homeview.render на самом деле вызывается до получения коллекции, поэтому при удалении оповещения (1); мое приложение не будет отображено, и я получаю сообщение об ошибке, в котором говорится, что «имя приложения» (шаблон) не определено.
есть идеи как это сделать?
метод fetch очень удобен, и я не возражаю подождать несколько секунд, на самом деле я намеревался показать индикатор выполнения, указывающий, что страница инициализируется, потому что у меня есть много других вещей для загрузки, поэтому можно использовать fetch и когда коллекция фактически извлечена, то код продолжает работать ???