Я бег следующего вида:Магистральных пожары изменения коллекции событий, но ничего не меняется в представлении
app.OrganisationTab = Backbone.View.extend({
el : "#organisations",
template : _.template($("#tpl-groups-list").html()),
events : {
"click .js-edit-group" : "editGroup"
},
initialize: function() {
this.listenTo(this.collection, 'change', this.change);
var that = this;
this.collection.fetch({
success: function() {
that.render();
}
})
},
change: function() {
//this.$el.empty();
console.log("collection has changed");
},
render:function() {
this.$el.empty();
this.addAll();
return this;
},
addAll: function() {
this.collection.each(this.addOne, this);
},
addOne: function(model) {
var view = new app.GroupEntry({
model: model
});
this.$el.append(view.render().el);
},
editGroup: function(e) {
e.preventDefault();
var elm = $(e.currentTarget),
that = this;
$('#myModal').on('hidden.bs.modal', function() {
$('.modal-body').remove();
});
var organisation = this.collection.findWhere({ id : String(elm.data('groupid')) });
var members = organisation.get('users');
organisation.set('members', new app.UserCollection(members));
var projects = organisation.get('projects');
organisation.set('projects', new ProjectCollection(projects));
var orgForm = new app.createOrganisationForm({
model : organisation,
});
$('#myModal').modal({
backdrop: 'static',
keyboard: false
});
}
});
Этот вид вызывает новый вид, и в том, что я могу изменить модель сохранить его (посылает PUT), и я могу попасть в свою консоль, collection has changed
. Если I console.log
этот сборник, я вижу, что коллекция изменилась. Если я попытаюсь перерисовать страницу, то все, что я вижу, это модели, которые были без изменений.
Зачем это происходит, когда отчет ясно меняется, когда он запускает события, и я вижу это, когда я регистрирую коллекцию?
ли вы вы убедитесь, что данные фактически сохраняются в базе данных? Это мое первое предположение. – Gohn67
Это, безусловно, сохраняется в базе данных, поскольку обновление страницы приводит к новым данным. – Udders
А, ок. Я неправильно понял. Я подумал о повторной обработке, означало перезагрузку. – Gohn67