Backbone home route重新加载页面

时间:2013-03-25 05:25:16

标签: backbone.js router

在一个非常简单的骨干应用程序中,我尝试操作路由,我让它们工作,但我只是想知道为什么到主页的链接实际上重新加载页面,而没有其他路由重新加载。

这是我的路由器:

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) ;
}
});

1 个答案:

答案 0 :(得分:2)

如果您使用Backbone路由器或链接,您必须知道每个路由都使用#处理,只要您没有启用pushstate(在您的浏览器和服务器上)。

因此,如果您需要设置家庭使用#

的链接

<a class="brand" href="#/">Home</a>类似,否则链接将作为原生网址

处理