2012-08-25 6 views
2

백본에는 대부분의 작업을 수행 할 방법이 없으므로 많은 것을 혼동합니다. 그 중 하나는 내 앱을 탐색하는 올바른 방법입니다.Backbone.js 및 내비게이션

BB Router에는 URL 및 푸시 경로를 푸시하는 데 사용할 수있는 '.navigate'메소드가 있습니다. 이제 내 애플 리케이션이 둘 이상의 라우터를 가지고 있기 때문에, 나는 하나 또는 다른 라우터에서 '.navigate'를 호출하는 것의 차이점을 모르겠습니다.

이제
new Etaxi.Routers.System() 
new Etaxi.Routers.Header() 
new Etaxi.Routers.Videos() 
new Etaxi.Routers.News() 

내가 내 글로벌 응용 프로그램 탐색에 사용하는 라우터 어떤 차이가 있습니까

router = Etaxi.Routers.System() 
// or i could do 
router = Etaxi.Routers.Header() 

router.navigate(url) 

할 수있는 내 라우터입니까? 이것은 나에게 이상한 것 같습니다.

답변

10

전화를 걸 라우터에는 차이가 없습니다. 여러 개의 라우터가있을 때 특정 라우터를 호출하지 않는 것이 좋습니다. 또는 라우터에 대한 호출을 전혀 신경 쓸 필요가 없습니다. 라우터의 navigate 메소드에 대한 소스 코드를 보면 Backbone.history.navigate에 전달되는 것 이상을 수행하지 않습니다.

Backbone.history.navigate(url)

http://backbonejs.org/docs/backbone.html#section-114

내 애플 리케이션의 거의 모든 여러 라우터를 사용하고,이 내가 navigate 메서드를 호출하는 방법입니다 : 그래서 그냥 직접 호출합니다. 그것은 훌륭하게 작동하고 어떤 라우터를 호출해야하는지 혼란을 피합니다.