Я создаю одностраничное приложение, которое позволяет пользователям фильтровать данные по двум критериям (Навыки и местоположение). Эти данные должны быть заполнены из двух отдельных веб-сервисов.Коллекция несвязанных моделей в магистрали?
Для каждой службы используется модель для использования данных с использованием запросов стиля REST.
Я хочу использовать оба бита данных в этом одном месте. По моему мнению, коллекция может содержать несколько экземпляров одного типа модели, например. «Кино»
var Movies = Backbone.Collection.extend({
model: Movie,
initialize: function() {
console.log("");
console.log("Movie Collection initialize");
console.log(this);
console.log(this.length);
console.log(this.models);
}
});
var movie1 = new Movie({
"title": "Bag It",
"averageUserRating": 4.6,
"yearReleased": 2010,
"mpaaRating": "R"
});
var movie2 = new Movie({
"title": "Lost Boy: The Next Chapter",
"averageUserRating": 4.6,
"yearReleased": 2009,
"mpaaRating": "PG-13"
});
Однако я пытаюсь реализовать рисунок ниже, где коллекция имеет две Модели. Является ли это анти-шаблоном для Backbone. Как это следует решать?
define([
'underscore',
'backbone',
'models/locationsModel',
'models/skillsModel'
], function (_, Backbone, Location, Skills)
{
'use strict';
var FiltersCollection = Backbone.Collection.extend({
// The filters collection requires these two models that will provide data to the filters view
location: new Location(),
skills: new Skills(),
initialize: function() {
//Do stuff
}
});
return new FiltersCollection();
});
отдельных коллекций для каждого типа модели; один вид, который отображается из каждой коллекции соответствующим образом –