我尝试将主干与推送状态一起使用:
$(document).ready(function(){
var App = Backbone.Router.extend({
routes: {
"/": "homepage",
"/questions": "questions"
},
homepage: function() {
console.log('why');
},
questions: function() {
console.log('this is not working?');
}
});
var the_app = new App();
$("a").click(function(ev) {
the_app.navigate( $(this).attr("href"), true);
return false;
});
Backbone.history.start({pushState: true});
})
问题是每当我点击这样的链接时:
<a href="/"> home </a>
<a href="/questions"> questions</a>
<a href="/justlink"> just link</a>
浏览器中的位置在不重新加载的情况下发生变化,但与其关联的函数以及我已经在路由中定义的函数不会执行。 知道我做错了什么吗?
最佳答案
来自fine manual :
extend
Backbone.Router.extend(properties, [classProperties])
[...] Note that you'll want to avoid using a leading slash in your route definitions:
您希望您的路线
看起来像这样:
routes: {
"": "homepage",
"questions": "questions"
}
关于backbone.js - Backbone 路由器没有pickup功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334636/