我想创建一个视图,该视图呈现集合中模型发生的所有更改的列表。
例如,在通过单击更新模型的“点”的主视图上,模型会更新,视图将被渲染,我希望有一个视图来侦听该事件并在其他地方呈现信息。
这是一个例子,我有三个模型kevin,mike,luke和用户点击添加点以保持视图捕获并呈现内容,如...卢克已经得了1分。
我会创建一个像下面这样的feedView
var FeedView = Backbone.View.extend({
el: '.live-feed',
template: _.template($('#feedTemplate').html()),
initialize: function() {
this.listenTo(this.collection, "change", this.render);
this.render();
},
render: function() {
this.$el.html(this.template(max.toJSON()))
return this;
}
});
我不知道写什么来听最后一次改变并返回?
听起来很清楚,我很乐意重新制作或提供更多代码/小提琴。
答案 0 :(得分:1)
您在集合上侦听的change
事件将包含已更改的模型,并且模型具有previous()
方法,可用于检索以前的值。
我已经创建了这个jsFiddle,我认为这就是你所追求的目标。
答案 1 :(得分:0)
render: function(model) {
console.log(model.changed);
// returns an object with all the changed values of the model
// example: {points:5}
console.log(model.previous('points'));
// get the previous value for comparison
}