Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка адресов в backbone.js (https://javascript.ru/forum/misc/31348-obrabotka-adresov-v-backbone-js.html)

LittlePony 04.09.2012 16:38

Обработка адресов в backbone.js
 
Как правильно поступить?

Обработку хэш-навигации делаю средствами backbone.js. Весьма удобен класс Router.
var Router = Backbone.Router.extend({
	routes: {
		"":	"GoToSection",
		"!/:section": "GoToSection",
		"!/:section/:page": "GoToSection"
	},
	GoToSection: function(section){
		if(!section) section = "pagehead"
		var $target = $("#"+section)
		if($target.size()==1) $("html,body").animate({scrollTop:$target.offset().top})
	}
})


И вот какую штуку хочу сделать:
чтобы первое слово в адресе обрабатывалось этим самым роутером, а второе брала на себя соответствующая вьюха.
На примере:
site.com/#!/timeline/1941
— в этом случае роутер прокрутит страницу к разделу #timeline, на котором размещена конструкция с годами. За эту конструкцию в свою очередь отвечает специально обученная вьюха. И вот она должна год из адреса взять и произвести на основе действия, о которых роутер знать не обязан.

Как правильно такие задачи решать?
Или, если я вообще не в ту сторону думаю, ткните меня носом, в какую сторону думать правильно.


Часовой пояс GMT +3, время: 14:03.