我有两个模块itemView.js
和ListView.js
.
当我获取数据时,一切正常。
问题是关于item view
(1)当我改变相应的模型时。
a) ListView.js
(2) 显示模型closed
值等于false
(3) 的所有对象
b) closeTask
(1) 中的动作将模型的值
从closed: false
closed: true
c) 当 b) 发生时没有任何变化,
但是如果我重新加载页面,我会得到正确的结果(不显示 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
},
….
];
PS:
当我获取集合时,服务器只给我关闭属性等于 false 的模型。
app.addInitializer(function () {
myCollection = new MyCollection();
myCollection.fetch();
});