У меня есть два модуля itemView.js
и ListView.js
.
Все работает, когда я извлекаю данные.События между Marionette.CompositeView и Marionette.ItemView
Проблема в том, что касается item view
(1), когда я меняю соответствующую модель.
а) ListView.js
(2) отображает все объекты, которые модели имеют closed
значение, равное false
(3)
б) действие closeTask
в (1) изменяет значение модели
от closed: false
к closed: true
с) если б) происходит изменение ничего,
, но если я перезагрузить страницу я получаю не отображается правильные результаты (модель, имеющий значение, равное closed
true
).
Как исправить эту проблему?
(1)
// itemView.js
var itemView = Marionette.ItemView.extend({
initialize: function() {
this.model.on('change', this.render, this);
},
events: {
'click #close': 'closeTask'
},
template: itemTemplate,
tagName: 'li',
closeTask: function() {
if (!this.model.get('closed')) {
this.model.save({
closed: true
});
}
}
});
(2)
// ListView.js
var ListView = Marionette.CompositeView.extend({
template: listTemplate,
itemView: itemView
});
(3)
// Collection
myCollection.attributes = [
{
id: 1,
name: 'bar'
closed: false
},
{
id: 2,
name: 'bar2'
closed: false
},
….
];
P.S .:
Когда я принести коллекции, сервер дает мне только те модели, которые имеют закрытый атрибут, равный ложным.
app.addInitializer(function() {
myCollection = new MyCollection();
myCollection.fetch();
});
Что вы ожидаете этого? какое изменение вы ожидаете увидеть, когда элемент закрыт? –