2015-02-02 7 views
0

일단 3 단계 라우터를 선언하면 2 단계 라우터에 정의 된 모듈 간의 탐색에 문제가 있습니다. 문제는 : 2 단계 라우터에서 다른 모듈 사이를 탐색 할 때 activate가 시작되었지만 모듈에 대해 연결이 시작되지 않았습니다. 라우터durandal 3 단계 하위 라우터

코드는 다음과 같다 :

//1st level router 
landing.router = router.map([ 
{ route: 'resourcebrowser*splat', title: 'Resource', moduleId: 'viewmodels/resourcebrowser', nav: true }, 
]).buildNavigationModel(); 

//2nd level router 
var childRouter = parentView.router = landing.router.createChildRouter() 
.makeRelative({ 
moduleId: 'viewmodels/tab/', 
fromParent: true 
}).map([ 
{ route: ':id/details', moduleId: 'details', title: 'Details', type: 'intro', nav: true }, 
{ route: ':id/docs*splat', moduleId: 'documents', title: 'Documents', type: 'intro', nav: true } 
]).buildNavigationModel(); 

//3rd level router 

var childRouter = parentView.router.createChildRouter() 
.makeRelative({ 
moduleId: 'viewmodels/viewer/', 
route: ':id/docs/' 
}) 
.map([ 
{ route: 'documentviewer/:docid', moduleId: 'documentviewer', title: 'Viewer', type: 'intro', nav: true } 
]).buildNavigationModel(); 

가 친절하게 내가 잘못 가고 곳 알려주세요.

답변

0

확인 canReuseForRoute에 대한 설명서 : 당신이 canReuseForRoute 함수를 정의하고 난 당신이 의도 한대로 그 두번째 수준의 라우터 뷰 모델이 완전히 다시 찾을 것으로 예상, false을 반환하는 경우 http://durandaljs.com/documentation/Using-The-Router.html

.