Может ли базовый вид иметь более одной коллекции? - PullRequest
11 голосов
/ 29 апреля 2011

Я только начинаю с магистрали и пытаюсь настроить представление, в котором есть список вопросов. Слева от списка у меня есть четыре фильтра, чтобы отфильтровать список по языку, стране, статусу и учебе. Список и каждый из фильтров загружаются в свои собственные коллекции.

Моя идея состояла в том, чтобы сделать это одно представление с несколькими коллекциями, но мне интересно, является ли это наилучшей практикой в ​​магистрали, поскольку во всех примерах, которые я видел, только одна коллекция на представление.

Другая идея состояла в том, чтобы разбить на два представления, одно из которых отвечает за фильтры, а затем дочернее представление отвечает только за список вопросов.

Или это более магистральный стиль, позволяющий перенести все коллекции в модель и затем передать эту модель на мой взгляд, как здесь упоминается: http://documentcloud.github.com/backbone/#FAQ-nested

Спасибо за ваши идеи.

Ответы [ 3 ]

24 голосов
/ 19 июня 2011

Да. Теоретически представление может охватывать любое количество внутренних объектов / коллекций. Как правило, имеет смысл иметь как можно более дискретные представления, но могут быть причины обернуть более одного объекта в одно представление.

Это все вопрос дизайна. Я не вижу, что создает модель контейнера в качестве корзины для ваших коллекций.

Не слишком заботьтесь о лучшем способе. Иногда нужно пройтись по неверному пути, чтобы найти лучшие пути для вашего конкретного проекта.

9 голосов
/ 17 сентября 2011

Я думаю, что вполне законно передавать более одной модели или коллекции в представление - когда это уместно.

Передача model или collection в конструктор представления автоматически добавит этот объект к экземпляру представления (поэтому он находится в this.model или this.collection), но вы также можете передавать другие данные, такие как дополнительные коллекции, и они будет расположен в объекте options (доступном из вашего поля зрения как this.options.countries и т. д.). Ваш метод просмотров initialize, если он существует, также будет передан этому объекту.

1 голос
/ 29 апреля 2011

Не уверен в лучших практиках, но если вы можете разбить его на представления, то это хорошо.В противном случае вам лучше создать модель представления с несколькими коллекциями и использовать их в представлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...