2013-11-11 4 views
0

Я пытаюсь создать дочерний роутер дочернего маршрутизатора в Durandal.js, но получаю случайные немые ошибки (например, 404 и т. Д.). Это вопрос Дюрандаля (я имею в виду, если он не поддерживает подпрограмму третьего уровня), или это может быть проблема с моим кодом?Durandal подпрограмма третьего уровня

Благодаря


В любом случае, я собираюсь включить свой код здесь:

возвращения оболочки

return { 
    router: router, 
    activate: function() { 
     return router.map([ 

      { 
       route: ['', 'Main'], 
       moduleId: 'Main/index', 
       nav: false 
      }, 

      { 
       route: 'Main*details', 
       moduleId: 'Main/index', 
       hash: '#/Main/', 
       title: 'Main', 
       nav: false 
      } 

     ]).buildNavigationModel() 
      .activate(); 
    } 
}; 

возвращающегося уровень ребенка второго

var mainRouter = router.createChildRouter() 
    .makeRelative({ 
     moduleId: 'Main', 
     fromParent: true 
    }).map([ 

     { 
      route: ['', 'Dashboard'], 
      moduleId: 'Dashboard/index', 
      nav: false 
     }, 

     { 
      route: 'Dashboard*details', 
      moduleId: 'Dashboard/index', 
      hash: '#/Main/Dashboard', 
      title: 'Dashboard', 
      nav: true 
     } 

    ]).buildNavigationModel(); 

return { 
    router: mainRouter 
} 

возвращение третьего уровня ребенка

var dashboardRouter = router.createChildRouter() 
    .makeRelative({ 
     moduleId:'Dashboard', 
     fromParent: true 
    }).map([ 

     { 
      route: ['', 'Product'], 
      moduleId: 'Product/index', 
      hash: '#/Main/Dashboard/Product', 
      title: 'Product', 
      nav: true 
     } 

    ]).buildNavigationModel(); 

return { 
    router: dashboardRouter 
} 

ответ

2

Я считаю, что в настоящее время ошибка в дочерних маршрутизаторов, которые находятся на 3-м уровне или ниже , У нас это отслеживается как проблема и мы работаем над решением. Я прошу прощения за доставленные неудобства.

+0

:(Большое спасибо за ответ, можете ли вы дать ссылку на вопрос Github? Просто хочу подписаться, если будет проблема с этой проблемой. – nikoloza

+0

У нас есть такая проблема в нашем приложении, но вместо того, чтобы 404, привязки вида очищаются при переходе к ребенку. Ожидание исправления: –

+1

@NikaTomaze: трудно пропустить '; -)' https://github.com/BlueSpire/Durandal/issues/357 – RainerAtSpirit

-1

ха ... Это довольно просто:

(var dashboardRouter = router.createChildRouter() 
.makeRelative({ 
    moduleId:'Dashboard', 
    fromParent: true 
}).map([ 

    { 
     route: ['', 'Product'], 
     moduleId: 'Product/index', 
     hash: '#/Main/Dashboard/Product', 
     title: 'Product', 
     nav: true 
    } 

]).buildNavigationModel(); 

return { 
    router: dashboardRouter 
}).makeRelative({ 
    moduleId: 'Main', 
    fromParent: true 
}).map([ 

    { 
     route: ['', 'Dashboard'], 
     moduleId: 'Dashboard/index', 
     nav: false 
    }, 

    { 
     route: 'Dashboard*details', 
     moduleId: 'Dashboard/index', 
     hash: '#/Main/Dashboard', 
     title: 'დეშბორდი', 
     tab: "dashboard", 
     nav: true 
    } 

]).buildNavigationModel(); 

return { 
    router: mainRouter 
} 
Смежные вопросы