2013-03-25 1 views
1

페이지를 새로 고칩니다. 경로를 조작 해 보았습니다. 작동하고 있지만 다른 경로가 다시로드되지 않는 경우 홈페이지 링크가 실제로 페이지를 다시로드하는 이유가 궁금합니다. 여기 백본 홈 경로가 매우 단순한 백본 응용 프로그램에서

내 라우터의 :에 (당신이 백본 라우터를 사용하거나 링크가 당신이 모든 경로가 같은 당신이 pushstate을 사용하도록 설정하지 않은 것처럼 #으로 처리된다는 사실을 인식해야합니다

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

이 링크가 어떤 모습 않는 고유 URL로 처리됩니다 가정에서 사용 <a class="brand" href="#/">Home</a> 같은 #

에 대한 링크, 그들이 어떻게 구성되어 설정해야하는 경우? 그들이 뷰 코드에 있다면, 그 코드 스 니펫을 무엇에 포함시킬 수 있습니까? –

+0

기본 동작을 방지하고 'Backbone.history.navigate (...)'를 호출하기 위해 이벤트 처리기를 추가 했습니까? 링크는 명시 적으로 다른 작업을 수행하지 않는 한 정상적으로 작동합니다. – loganfsmyth

+0

@StuartM 내 홈페이지 링크는 순전히 'Home

답변

2

당신의 브라우저 및 서버).

그래서 당신은 그렇지 않으면 링크가

+0

입니다. 그것은'href = "# /"'와 함께 작동합니다. 이제 pushState를 사용하려고했지만 어떻게 든 작동하지 않습니다. 저는 Laravel 4를 백엔드로, Chrome을 브라우저로 사용합니다. 일하지 않아도 될까요? 내 질문에 대한 자세한 내용은 여기 [link] http://stackoverflow.com/questions/15498793/backbone-pushstate-and-laravel-4-routes-wont-work –