【发布时间】:2013-01-07 15:32:17
【问题描述】:
我在 Backbone 中遇到了一些非常简单的问题。我想在我的页面中连接<h1>,以便当用户单击它时,它会无缝返回到主页,而无需回发。
这是 HTML:
<h1><a id="home" href="/">Home</a></h1>
(更新:评论者建议的固定 ID。)这是我的主干视图和路由器:
var HomeView = Backbone.View.extend({
initialize: function() {
console.log('initializing HomeView');
},
events: {
"click a#home": "goHome"
},
goHome: function(e) {
console.log('goHome');
e.preventDefault();
SearchApp.navigate("/");
}
});
var SearchApp = new (Backbone.Router.extend({
routes: {
"": "index",
},
initialize: function(){
console.log('initialize app');
this.HomeView = new HomeView();
},
index: function(){
// do stuff here
},
start: function(){
Backbone.history.start({pushState: true});
}
}));
$(document).ready(function() {
SearchApp.start();
});
控制台显示我
initialize app
initializing HomeView
但是当我点击 <h1> 时,页面会发回 - 我在控制台中看不到 goHome。
我做错了什么?显然,我可以在 jQuery 中简单地连接<h1> click 事件,但我想了解我应该如何在 Backbone 中执行此操作。
【问题讨论】:
标签: javascript backbone.js backbone-events javascriptmvc