Структуриране на страница с множество изгледи с 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
        • Компонент

Всеки изглед/модел трябва да е отделен един от друг, тъй като може да се наложи повторно изобразяване. Разгледах layout manager, nestedModels и relationalModels, но изглежда не мога да получа това, което искам. Има ли "правилен" начин за създаване на този тип оформление и трябва ли да използвам колекции.

Съжалявам за липсата на разбиране. Напълно новак с доста голям амбициозен проект.


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
Благодаря. Мисля, че ще изпробвам марионетката и мениджъра на оформлението и ще видя кое работи най-добре. Marionette изглеждаше много за това, от което имам нужда, докато мениджърът на оформлението изглеждаше малко по-лесен, тъй като контролираше само оформлението. @Арно Ринкуин - person darylhedley; 16.12.2012
comment
Можете да използвате Marionette частично. Application, Regions, CollectionViews и ItemViews са много полезни (и в повечето случаи бихте ги пренаписали). - person Arnaud Rinquin; 16.12.2012
comment
Добре...открих, че документацията не ми даде съвсем пример за това, което се опитвах да направя. Но документацията за мениджъра на оформлението го направи. Аз съм напълно начинаещ с гръбнака и дизайна на приложения, така че се въртях в кръг с тази част от приложението. Има ли някакъв шанс да ми покажете пример за това как да изградя структурата по-горе с помощта на марионетка, моля? Благодаря за помощта. @Арно Ринкуин - person darylhedley; 16.12.2012
comment
Няма да отделям повече време, за да ви помогна, но се надявам, че тази връзка ще ви предостави цялата помощ, от която се нуждаете: Случаи на използване за различни изгледи. Освен това не забравяйте да прочетете ЧЗВ Последен съвет: трябва да имате 4 изгледа: Статии , статия, раздел, компонент. Статии, статия и раздел са CollectionView, Component е 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