В данной маленькой заметке рассмотрю примеры использования маршрутизаторов Backbone.
Часто в веб-приложении необходимо разделить логику, привязав определенные модели и представления или отдельное состояние приложения к определенным адресам. Для всего этого используется объект Backbone.Router
Описание маршрутов
Создавая свой маршрутизатор, нужно расширить Backbone.Router
, добавив в него описания маршрутов и действий:
|
|
Сами маршруты могут быть динамическими:
|
|
Связывание маршрутов и действий
Используя функцию on
мы должны связать событие перехода по некоторому адресу с некоторым действием. Так, описав в списке маршрутов:
|
|
необходимо описать событие:
|
|
Это означает, что при переходе по адресу #/profile/10
будет генерироваться событие route:viewProfile
, которое будет обработано соответствующей функцией, принимающей в качестве аргументов id
маршрута.
Во время загрузки страницы, после того, как приложение создаст все необходимые ему маршрутизаторы, нужно вызвать Backbone.history.start()
или Backbone.history.start({pushState: true})
, чтобы задать начальное состояние приложения.
Заключение
Как видим, достаточно просто описать все необходимые действия приложения, пользуясь только маршрутизаторами, не используя дополнительные страницы или скрипты.