将模型添加到集合时,该collection
属性将添加到引用它所在集合的模型中。您可以在 nextElement 和 previousElement 方法中使用此属性。
var MyModel = Backbone.Model.extend({
initialize: function() {
_.bindAll(this, 'nextElement', 'previousElement');
},
nextElement: function() {
var index = this.collection.indexOf(this);
if ((index + 1) === this.collection.length) {
//It's the last model in the collection so return null
return null;
}
return this.collection.at(index + 1);
},
previousElement: function() {
var index = this.collection.indexOf(this);
if (index === 0 ) {
//It's the first element in the collection so return null
return null;
}
return this.collection.at(index - 1);
}
}
然而,这似乎是收藏应该有的问题,而不是模型nextElement
。previousElement
您是否考虑过将这些功能放在集合上而不是模型上?