1

非常にシンプルなバックボーンアプリで、ルートを操作してみましたが、他のルートがリロードされないのに、なぜホームページへのリンクが実際にページをリロードするのか疑問に思っています。

これが私のルーターです:

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

1 に答える 1

2

バックボーンルーターまたはリンクを使用する場合は、#(ブラウザーとサーバーで)pushstateを有効にしていない限り、すべてのルートがで処理されることに注意する必要があります。

したがって、家庭での使用へのリンクを設定する必要がある場合#

それ以外の場合と同様<a class="brand" href="#/">Home</a>に、リンクはネイティブURLとして処理されます

于 2013-03-25T07:15:25.907 に答える