Не вызывается нужный Route
Доброго времечка, может кто знает, из за чего может не вызываться роут? Код можно взглянуть на гитхабе -
https://github.com/kuzroman/srm.loc/...router/home.js Всегда срабатывает index ный роут. На сервере использую Laravel с его REST запросами. |
вот часть кода
App.Router.Home = Backbone.Router.extend({ routes: { '' : 'index', 'page' : 'page' }, index: function() { console.log('роут Home!'); }, page: function() { console.log('страница 12345'); } }) Причем на #page реагирует, можно ли как то обращаться без решетки? Или от такого синтаксиса никуда не деться? Как правильно? |
routes: { 'page(/)' : 'page', '*default' : 'index' }, |
'*default' : 'index' - с этим я разобрался, хотя непонятно зачем писать символы после звездочки, ну бог с ним, пусть это остается на совести разработчиков.
(/) - это я так понимаю необязательный символ. А как же быть с #(решеткой)? Что нужно для того чтобы делать запросы без решетки? Сейчас роут page сработает если в урле будет site.ru/#page А хотелось бы тоже но без решетки. Или это уже не забота бакбона? |
чтобы использовался History API, а не эмуляция через #hash
Backbone.history.start({pushState: true}) но если Backbone запустился с pushState:true, то роут уже не сработает на /#page, только /page, но для старых браузеров будет работать /#page |
Часовой пояс GMT +3, время: 12:46. |