Может ли у позвоночника больше одной коллекции?
Я только начинаю с позвоночника и пытаюсь настроить представление, в котором есть список вопросов. Слева от списка у меня есть четыре фильтра, чтобы отфильтровать список по языку, стране, статусу и изучению. Список и каждый из фильтров загружаются в их собственные коллекции.
Моя идея состояла в том, чтобы сделать это одно представление с несколькими коллекциями, но я задаюсь вопросом, является ли это лучшей практикой в магистрали, поскольку все примеры, которые я видел, имеют только одну коллекцию для каждого представления.
Еще одна идея заключалась в том, чтобы разбить на два представления, причем один из них отвечает за фильтры, а потом дочернее представление отвечает только за список вопросов.
Или, это более базовый стиль, чтобы отбросить все коллекции в модель, а затем передать эту модель на мой взгляд, как она упоминает здесь: http://documentcloud.github.com/backbone/#FAQ-nested
Спасибо за ваши идеи.
Ответы
Ответ 1
Да. Теоретически представление может охватывать любое количество внутренних объектов/коллекций. Как правило, имеет смысл, чтобы представления были как можно более дискретными, но в одном виде могут быть причины обернуть несколько вещей.
Это все дело дизайна. Я не вижу, что создание модели контейнера в качестве ведра для ваших коллекций покупает вас.
Не будьте слишком озабочены абсолютным лучшим способом. Иногда вам нужно немного погулять по неправильному пути, чтобы выяснить, как лучше ваш проект.
Ответ 2
Я думаю, что вполне законно передавать более одной модели или коллекции в представление - при необходимости.
Передача model
или collection
в конструктор представлений автоматически добавит этот объект в экземпляр представления (поэтому он находится в this.model
или this.collection
), но вы также можете передавать другие данные, такие как дополнительные коллекции, и они будет находиться в объекте options
(доступный из вашего представления как this.options.countries
и т.д.). Ваш метод просмотра initialize
, если он существует, также будет передан этот объект.
Ответ 3
Не уверен в лучших практиках, но если вы можете разбить его на представления, то это хорошо. В противном случае вам будет лучше создавать модель представления с несколькими коллекциями в ней и использовать их в представлении.