хорошо, у меня есть
{{#each mainmenu}}
<li>
<a href="#pages/{{this.url}}"><h2>{{this.name}}</h2></a>
</li>
{{/each}}
и в моем роутере
routes: {
'': 'index',
'pages/firstpage' : 'firstpage',
'pages/secondpage' : 'secondpage',
'pages/thirdpage' : 'thirdpage'
},
initialize: function () {
Backbone.history.start({pushState: false});
}
и мой файл json:
{
"name":"First page",
"id":"1",
"url":"firstpage"
},
{
"name":"Second page",
"id":"2",
"url":"secondpage"
},
{
"name":"Third page",
"id":"3",
"url":"thirdpage"
}
так, как сейчас, мой URL-адрес "#pages/secondpage" - как я могу получить URL-адрес для отображения "pages/secondpage" - я пробовал "pushState:true", который не работал... затем в моем представлении mainmenu.js Я добавил событие:
events: {
'click a.second': 'secondpage'
},
secondpage: function() {
var secondpageRouter = new Backbone.Router();
var route = 'pages/secondpage';
secondpageRouter.navigate(route, {trigger: true});
}
но это тоже не сработало... когда я удаляю "#pages/" из привязки выше, я почти получаю URL-адрес, который мне нужен, "pages/secondpage", но он говорит: "URL не может быть найден" после нажатия на ссылку. Так что тут происходит???
Пожалуйста, помогите кому-нибудь?
<a href="/pages/{{this.url}}">
в сочетании сpushState:true
должно работать. - person mu is too short   schedule 11.12.2013event.preventDefault()
. - person RustyToms   schedule 11.12.2013preventDefault()
ссылку, она отправитget
запрос на сервер. В этом примере используетсяpreventDefault()
. - person RustyToms   schedule 11.12.2013<a>
s ведут себя разумно, как хакерские шаблоны, которые я похоронил в своем приложении. Это и жизнь на стороне сервера в течение последних шести месяцев. - person mu is too short   schedule 11.12.2013