Backbone返回最后改变的模型?

时间:2013-12-22 08:23:32

标签: javascript backbone.js

我想创建一个视图,该视图呈现集合中模型发生的所有更改的列表。

例如,在通过单击更新模型的“点”的主视图上,模型会更新,视图将被渲染,我希望有一个视图来侦听该事件并在其他地方呈现信息。

这是一个例子,我有三个模型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;
    }

});

我不知道写什么来听最后一次改变并返回?

听起来很清楚,我很乐意重新制作或提供更多代码/小提琴。

2 个答案:

答案 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

}