2017-04-21 10 views
0

backbonejs 루트의 첫 번째 매개 변수로 쿼리 매개 변수를 추가하려고하지만 행운이 없습니다.backbonejs 라우터의 첫 번째 쿼리 매개 변수

다음은 라우터 구성입니다.

TabsRouter = Backbone.Router.extend({ 
    routes: { 
     "tab/:tabname": "goToTab", 
     "*default": "defaultTab" 
    }, 

    goToTab: function(tabName) { 
     view.renderTab(tabName); 
    }, 

    defaultTab: function() { 
     view.renderTab('markets'); 
    } 
}); 
tabsRouter = new TabsRouter(); 

위의 코드는 잘 작동하고 난 base을/# 탭/개인과 같은 경로에 액세스 할 수 있습니다하지만 난 뭔가 base을/# 개인 싶어, 나는 탭으로 시작하고 싶지 않아요. ": tabname"경로를 시도했지만 작동하지 않습니다.

도움을 주시면 감사하겠습니다.

+0

각 탭마다 다른 경로를 만들려고 했습니까? – slorenzo

+0

각 탭의 경로를 하드 코딩하는 대신이 작업을 수행하는 일반적인 방법은 없지만 작동해야합니까? – MA1

+1

@SebastianLorenzo 당신의 제안은 저를위한 문제를 해결했습니다. 당신이 질문에 대답 할 수 있다면 나는 당신의 답을 해결책으로 받아 들일 것입니다. – MA1

답변

0

문제를 해결할 수있는 가장 좋은 방법 중 하나는 각 탭마다 다른 경로를 사용하는 것입니다. 코드에 따라

, 그것은 다음과 같습니다

TabsRouter = Backbone.Router.extend({ 
    routes: { 
     "tab/first-tab": "firstTabView", 
     "tab/second-tab": "secondTabView", 
     "tab/third-tab": "thirdTabView", 
     "*default": "defaultTab" 
    }, 

    firstTabView: function() { 
     view.renderFirstTab(); 
    }, 
    secondTabView: function() { 
     view.renderSecondTab(); 
    }, 
    thirdTabView: function() { 
     view.renderThirdTab(); 
    }, 
    defaultTab: function() { 
     view.renderDefault(); 
    } 
}); 
tabsRouter = new TabsRouter(); 

은 당신을 도움이되기를 바랍니다.