Базовая организация проекта

Я немного борюсь с тем, чтобы придумать чистый и надежный способ организации своего приложения Backbone. Я использую Requirejs, Handlebars и плагин Requirejs Text для динамической загрузки представлений HTML. Для упрощения скажем, что на сайте есть следующие страницы:

Главная: отображает коллекцию продуктов

Около: статическая страница

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

Поэтому я собираюсь получить SPA, который загружает новые страницы в div ('.backbone-view'). Должен ли я иметь общий AppView с el: $ ('. Backbone-view'), который вызывается при изменении маршрута и затем загружает соответствующий шаблон? Или я должен иметь представление для каждой страницы (homeView, aboutView, accountView), все с их установленным в backbone-view?

Помимо этого ... мне нужна модель для чего-либо, кроме продуктов? Для статической страницы about about я просто загружаю html-шаблон и все. Но для продуктов мне нужно назвать коллекцию продуктов, которая отображает каждый вид продукта, каждый из которых связан с моделью продукта. Это хорошо ... но где я могу инициализировать эти конструкции продукта? Когда я направляюсь на домашнюю страницу, я делаю это там? У меня есть этот псевдокод:

  routes: {
        '': 'home',
        'about': 'about',
        'my-account': 'myAccount',
        '*default': 'home'
    },

    'home': function() {
        // Grab template for home page

        // Load up products

        // Replace $('.backbone-view') with home page template populated with products
    },

    'about': function() {
        // Grab about template and replace $('.backbone-view') with its contents
    },

    'myAccount': function() {
        MIND EXPLOSION
    }

Я думаю, что большая проблема заключается в том, что мне неясно, для чего предназначены представления ... могут ли они использоваться просто для переходов страниц или им всегда должна быть привязана модель? Если первое, мне по крайней мере нужно AppView, а затем Views для каждой страницы, верно? Я заблудился относительно того, куда бы я делегировал каждый шаг ... поэтому любая помощь приветствуется.

Спасибо за помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос