Мне было интересно, можно ли отфильтровать модель, например, как можно отфильтровать коллекцию?Модель фильтрации (не коллекция) в Backbone.js
Я делаю функцию поиска для спортивного сайта, и я хочу, чтобы иметь возможность фильтровать результаты поиска по типу, т.е. футбол, теннис, баскетбол, плавание, спортивная и т.д. ...
Вот мой код (проверьте метод filterSearch()
):
define([
'jquery',
'backbone',
'underscore',
'models/model'],
function($, Backbone, _, Model){
var Search = Model.extend({
urlRoot: '/search',
defaults: {
query: ''
},
initialize: function(attrs, options) {
if (typeof options === 'object') {
this.router = options.router;
}
},
filterSearch: function(type) {
this.filter(function(data) {
return data.get(type);
});
}
});
return Search;
});
JSON:
[
{
"search": [
{
"result": {
"query": "Vettel is world champion"
},
"type": "Formula 1",
"id": 1
},
{
"result": {
"query": "Romario of Brazil world cup 1994"
},
"type": "football",
"id": 2
},
{
"result": {
"query": "federe won again"
},
"type": "tennis",
"id": 3
}
]
}
]
Можете ли вы представить пример JSON, как будут выглядеть результаты поиска api? Не совсем ясно, что вы собираетесь фильтровать. – ne8il
@ ne8il, спасибо, что ответили. Из-за закона защиты данных, где я работаю, я не могу показать json, с которым я работаю. Но я включил аналогичную и более простую версию, которую я сделал выше, хотя ... – Shaoz
Что JSON больше похож на коллекцию, чем на модель. Почему у вас нет коллекции с методом 'parse', чтобы развернуть' search' часть JSON? –