Краткий ответ: Нет, вы не можете этого сделать.Один контроллер на страницу.
Длинный ответ: Когда вы создаете экземпляр нового контроллера, он добавляет свои маршруты в одноэлементную историю.Синглтон History отслеживает хеш-компонент URL-адреса и, когда хеш-код изменяется, сканирует маршруты для выражения first , которое соответствует его потребностям.Затем он запускает функцию, связанную с этим маршрутом (эта функция была связана с контроллером, в котором она была объявлена).Он будет срабатывать только один раз, и в случае конфликта порядок его запуска формально не определен.(На практике это, вероятно, является детерминированным.)
Философский ответ: Контроллер - это объект «просмотра», который влияет на представление всей страницы на основе хеш-компонента URL.Его целью является предоставление URL-адресов с возможностью закладок, которые пользователь сможет получить в будущем, чтобы при переходе по URL-адресу он мог начать с предварительно выбранного представления среди многих.Из вашего описания звучит так, будто вы манипулируете этим публично доступным, адресуемым вручную элементом, чтобы манипулировать различными частями вашего окна просмотра, оставляя других в покое.Это не так.
Одна из приятных особенностей Backbone заключается в том, что если вы передадите ему маршрут, который уже является регулярным выражением, он будет использовать его как есть.Поэтому, если вы пытаетесь использовать контроллер для создания закладочного описания макета (компонент 1 в верхнем правом углу в режиме отображения «A», компонент 2 в верхнем левом углу в режиме отображения «B» и т. Д.)Я могу предложить несколько альтернатив - выделить каждому из них пространство имен в хэш-части URL-адреса и создать маршруты, которые игнорируют остальные, т. Е.
routes: {
new RegExp('^([^\/]*)/.*$'): 'doComponent1stuff',
new RegExp('^[^\/]*/([^\/]*)\/.*$': 'doComponent2stuff',
}
Посмотрите, как первый использует только элементы после первогокосая черта, вторая после второй косой черты и т. д. Вы можете полностью закодировать свою магию так, как хотите.
Я предлагаю, однако, что если вы собираетесь что-то делать с внешним видом и ощущением компонентови вы хотите, чтобы это было достаточно настойчиво, чтобы вы просматривали представления, получая и устанавливая их куки-файлы из какого-то локального магазина;если они достаточно маленькие, куки будет достаточно.