2个相同骨干模型的比较(即)骨干模型的2个不同实例

时间:2016-05-22 05:58:12

标签: backbone.js

有没有办法比较同一骨干模型的2个不同实例?

1 个答案:

答案 0 :(得分:2)

您评论道:

  

我不想通过传递属性的名称来手动比较属性的值。相反,当我给出模型时,它应该知道这是属性,这是值,然后比较值以知道它是否相等

没有内置方法可以将模型与另一个模型进行比较。但您可以在Backbone.Model原型上实现一个方法来执行此操作:

Backbone.Model.prototype.equalTo = function(other) {
    return _.isEqual(this.attributes, other.attributes);
};

它利用Underscore's isEqual()来比较两个对象是否相等。 isEqual() if (m1.equalTo(m2)) { console.log("equal"); } 已通过internal Backbone data objects attributes

然后你可以这样做:

Backbone.Model

如果您不想修改equalTo(),可以从中扩展并在那里实施var list = new List<string> { "James", "Michael", "Tom", "John" };