gpt4 book ai didi

javascript - 获取 backbone.js 中的下一个和上一个元素

转载 作者:行者123 更新时间:2023-11-30 07:01:04 25 4
gpt4 key购买 nike

假设我在 backbone 中有一个集合,我希望能够找到给定元素的上一个和下一个元素。请假设可以动态删除和添加元素。

var MyModel=Backbone.Model.extend({
nextElement: function(){
//????
},
previousElement:function(){
//?????
}
});

var MyCollectionType=Backbone.Collection.extend({
model:MyModel;
});
var collection=new MyCollectionType

最佳答案

当模型被添加到集合中时,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);
}
}

但是,nextElementpreviousElement 似乎是集合应该具有的关注点,而不是模型。您是否考虑过将这些函数放在集合而不是模型上?

关于javascript - 获取 backbone.js 中的下一个和上一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com