Для фильтрации коллекции с использованием магистрали лучше всего использовать фильтрованную функцию в вашей коллекции
var UserCollection = Backbone.Collection.extend ({
filtered : function ( id ) {
Я предлагаю использовать фильтр UnderScore, который будет возвращать true для действительного и false для недействительного, где true - это то, что выищем.используйте this.models, чтобы получить текущие модели коллекций; используйте model.get (''), чтобы получить элемент, который вы хотите проверить на
var results = _.filter( this.models, function ( model ) {
if ( model.get('location_id') == id )
return true ;
return false ;
});
. Затем используйте карту подчеркивания для своих результатов и преобразуйте ее в JSON, как * 1007.*
results = _.map( results, function( model ) { return model.toJSON() } );
Наконец, возвращаем новую базовую коллекцию только с результатами
return new Backbone.Collection( results ) ;
По желанию, если вы не хотите сохранять все данные в коллекции, а только отфильтрованные, вам следует сбросить коллекциюи пропустите приведенный выше возврат, как
this.reset( results ) ;
Просмотр вызов отфильтрованной коллекции и рендеринга результата