在一个非常简单的骨干应用程序中,我尝试操作路由,我让它们工作,但我只是想知道为什么到主页的链接实际上重新加载页面,而没有其他路由重新加载。
这是我的路由器:
App.Router = Backbone.Router.extend({
routes: {
'': 'index',
'trips': 'trips',
'trips/new': 'newTrip',
'trips/:id': 'showTrip'
},
index: function(){
App.trips = new App.Collections.Trips ;
App.trips.fetch().then(function(){
new App.Views.App({ collection: App.trips });
});
},
trips: function(){
console.log('All trips') ;
},
newTrip: function(){
console.log('new trip') ;
var new_trip = new App.Views.Trip.New ;
$('#content').empty().append(new_trip.el) ;
},
showTrip: function(id){
console.log('trips id:' + id) ;
}
});
答案 0 :(得分:2)
如果您使用Backbone路由器或链接,您必须知道每个路由都使用#
处理,只要您没有启用pushstate(在您的浏览器和服务器上)。
因此,如果您需要设置家庭使用#
与<a class="brand" href="#/">Home</a>
类似,否则链接将作为原生网址