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();
    }
};

返回2 级孩子

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
}

返回3 级孩子

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
}
4

2 回答 2

2

我相信这是目前处于 3 级或以下级别的子路由器中的一个错误。我们已将此作为一个问题进行跟踪,并正在制定解决方案。我带来的不便表示歉意。

于 2013-11-11T19:48:21.923 回答
-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
}
于 2013-11-11T19:29:31.817 回答