2014-04-24 2 views
1

주 경로에서 params를 사용하려고합니다. 그러나 실제로 params를 설정되지 않은 그들이 경로에 사용됩니다유성 앱의 주요 경로 (/)에서 params를 사용하려고합니다

Router.go('home'); // it redirects on/=> ok 
Router.go('home', {_redirect: test}); // this.path = /test, and this.params is empty 

어떻게 내가 PARAMS처럼 _redirect 사용할 수 있습니다 : 지금

Router.map(function funcClientRouterMap(){ 
    this.route('home', { 
     path: '/:_redirect?', 
     action: function funcClientRouterMapAction(){ 
      console.log(this.path, this.params); 
     } 
     }) 
}); 

내가 여기에 수동 리디렉션을하려고하면 내가 무엇을 얻을 경로가 아닌가?

감사

+0

라우터에 다른 경로가 정의되어 있습니까? –

+0

예 경로가 거의 없습니다. 이유가 무엇입니까? – Rebolon

답변

0

Router.go합니다 (docs 당)의 첫 번째 인수로 경로를 수용한다. 당신은 사용자가 /redirectMeSomewhere에 가기로 프로그래밍 같은 결과를 야기하려고했던한다면, 당신은 단지 사용

Router.go('/redirectMeSomewhere'); 

그리고 this.params._redirect'redirectMeSomewhere'해야한다.

@apendua와 마찬가지로, 다른 경로가있는 경우 혼돈을 야기 할 수있는 경로가 /:anything으로 지정 될 수 있습니다. 왜냐하면 다른 경로는 결코 트리거되지 않을 수 있기 때문입니다. 위의 방법으로 트릭을 수행하지 않으면 다른 모든 경로를 주석 처리하여 변경 사항이 있는지 확인하십시오.

+0

당신은 혼돈이 될 수 있다고 말합니다. 그러나 사실 매개 변수가 하나의 경로와 동일한 내용 일 때만 가능합니다. 잘못입니까? 실제로 this.params는 항상 비어 있습니다. 그 기능 만 테스트하기 위해 작은 프로젝트를해야 할 것입니다. – Rebolon

+0

경로에서'? '를 제거해보십시오. 그래서 단지'path : '/ : _ redirect''입니다. –