Backbone.js: How to get the index of a model in a

2019-03-07 21:09发布

问题:

Is there a way to find the index of a model within a collection?

Let's say in a view we have a model we're working on, could that model spit out it's index within the collection it's currently inside of? I'd like to do this because I want to access the model above or below the current target.

In other words is there something like:

index = this.model.index
modelAbove = this.collection.at( index-1 )

My data is a nested set so I can just do a search on the "lft" or "rgt" columns, but I didn't want to reinvent the wheel if Backbone already has this info available.

回答1:

yes, backbone provides access to many underscore.js methods on models and collections, including an indexOf method on collections. it also provides an at method like you've shown.

var index = this.collection.indexOf(this.model);
var modelAbove = this.collection.at(index-1);


标签: backbone.js