我對骨幹js來說很新,而且我有一些問題讓我的app的pushstate功能工作。這裏是一個如我的路線:Backbone.js Pushstate:true不返回回調函數
var TodoRouter = new (Backbone.Router.extend({
routes: {
"": "index",
"item/add": "AddTodoItem",
"list/add": "AddTodoList"
},
AddTodoItem: function() {
//e.preventDefault();
alert("add new item");
},
AddTodoList: function(e) {
//e.preventDefault();
alert("add new list");
},
Start: function(){
//note: my directory structure is localhost/playground/todo/
Backbone.history.start({pushState: true, root: "/playground/todo/"});
},
initalize: function(){
},
index: function(){
var todoListView = new TodoListView({ collection: TodoItemCollection });
}
}));
這裏是我打電話給我的路線:
$(function() {
TodoRouter.Start();
});
而最後這是我如何調用鏈接:
<a href="#list/add" id="newList">New List</a>
的問題我遇到的情況是,當我打電話給該鏈接時,頁面保持不變,沒有警報,瀏覽器顯示:
http://localhost/playground/todo/#list/add
現在這裏是有趣的部分,如果我刷新頁面,網址變成:
http://localhost/playground/todo/list/add
,我得到警報。所以我有一種感覺,我錯過了某個關鍵點。任何幫助將不勝感激!