Структурирование страницы с несколькими представлениями с помощью backbone.js

Я просмотрел различные демонстрации, примеры и учебные пособия и до сих пор не нашел правильного/наилучшего способа написать следующую структуру:

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

  • Container
    • Article
      • Section
        • Component
        • Компонент
      • Section
        • Component
      • Section
        • Component
      • Section
        • Component
        • Компонент
    • Article
      • Section
        • Component
        • Компонент
      • Section
        • Component
      • Section
        • Component
        • Компонент
    • Article
      • Section
        • Component
      • Section
        • Component
        • Компонент
    • Article
      • Section
        • Component
        • Компонент
      • Section
        • Component
        • Компонент
      • Section
        • Component
      • Section
        • Component
        • Компонент

Каждое представление/модель должно быть отделено друг от друга, так как может потребоваться повторная визуализация. Я просмотрел диспетчер компоновки, вложенные модели и реляционные модели, но, похоже, не могу получить то, что хочу. Есть ли «правильный» способ создать этот тип макета и следует ли использовать Collections.

Извините за мое непонимание. Полный новичок с довольно большим амбициозным проектом.


person darylhedley    schedule 14.12.2012    source источник
comment
Backbone не дает много предположений о том, как вы структурируете свой код. Таким образом, существует множество способов достижения одной и той же цели, и все они хороши.   -  person JaredMcAteer    schedule 14.12.2012
comment
Знаете ли вы, как я буду создавать что-то вроде структуры выше? Я никогда не могу понять это правильно. Начал сводить меня с ума @JaredMcAteer   -  person darylhedley    schedule 14.12.2012


Ответы (1)


MarionetteJS, библиотека подключаемых модулей для Backbone, поможет вам справиться с таким вложением представлений.

Он предоставляет Regions, Layout, CollectionView и ItemView, которые отлично помогают в вашей ситуации.

Вот действительно хороший учебник, часть 2

person Arnaud Rinquin    schedule 14.12.2012
comment
Спасибо ... быстро просмотрел это и похоже, что я смогу это сделать. Разрешает ли он вложенные модели в другие модели? @Арно Ринкен - person darylhedley; 16.12.2012
comment
Хм, я не думаю, что это хорошая идея - вкладывать модели. Вам лучше иметь ссылки на другую модель, но не вкладывать ее. - person Arnaud Rinquin; 16.12.2012
comment
Спасибо. Я думаю, что попробую и марионетку, и менеджер компоновки и посмотрю, что работает лучше всего. Марионетка казалась мне многой для того, что мне нужно, тогда как менеджер компоновки казался немного проще из-за того, что он контролировал только макет. @Арно Ринкен - person darylhedley; 16.12.2012
comment
Вы можете использовать Marionette частично. Application, Regions, CollectionViews и ItemViews очень полезны (и в большинстве случаев вы бы их переписали). - person Arnaud Rinquin; 16.12.2012
comment
Хорошо... Я обнаружил, что документация не совсем дала мне пример того, что я пытался сделать. Но документация для менеджера по расположению сделала. Я полный новичок в дизайне основ и приложений, поэтому я ходил по кругу с этой частью приложения. Есть ли шанс, что вы могли бы показать мне пример того, как построить структуру выше, используя марионетку, пожалуйста? Спасибо за помощь. @Арно Ринкен - person darylhedley; 16.12.2012
comment
Я не буду тратить больше времени, чтобы помочь вам, но я надеюсь, что эта ссылка предоставит вам всю необходимую помощь: Примеры использования для разных представлений. Кроме того, обязательно прочитайте FAQ Последний совет: у вас должно быть 4 просмотра: Статьи , Статья, Раздел, Компонент. Статьи, Статья и Раздел — это CollectionView, Компонент — это ItemView. - person Arnaud Rinquin; 17.12.2012
comment
Я что-то не то написал в прошлом комментарии. Статьи, статьи, разделы и компоненты должны быть CompositeViews (вместо коллекции) - person Arnaud Rinquin; 17.12.2012
comment
Спасибо ... варианты использования были именно тем, что я хотел. Там все полностью объясняется. Не знаю, как я это пропустил! спасибо за всю вашу помощь @Arnaud Rinquin - person darylhedley; 17.12.2012
comment
Привет, Арно, есть шанс, что ты сможешь взглянуть на этот вопрос, который я разместил. не знаю как в личные сообщения. stackoverflow.com/questions/14090186/ спасибо @Arnaud Rinquin - person darylhedley; 30.12.2012