【发布时间】:2014-01-24 10:17:03
【问题描述】:
我的模型有一个index 属性,默认为null,但应该由集合设置,当添加到它时。这是我最初想到的,但没有奏效。
var model = Backbone.Model.extend({
defaults: {
index: null,
// ...
},
// ...
});
var collection = Backbone.Collection.extend({
// ...
add: function(model) {
model.set({ index: this.size() });
return model;
},
comparator: function(model) {
return model.get('index');
},
// ...
});
但是,这不起作用。它抛出错误TypeError: model.set is not a function。什么是正确的方法或我有什么选择?
【问题讨论】:
-
留下评论,因为它没有回答您的问题,但理想情况下,您的模型根本不具有
index属性。通过添加它,您需要将集合中模型的顺序与模型上的index属性同步。但是没有必要将这些信息存储在两个地方。为什么不只在需要时查询集合以获取模型的索引?
标签: javascript sorting backbone.js collections