0

Durandal.js で子ルーターの子ルーターを作成しようとしていますが、ランダムなダムエラー (404 など) が発生します。それは Durandal の問題ですか (つまり、第 3 レベルのサブルーティングがサポートされていない場合)、それとも私のコードの問題でしょうか?

ありがとう


とにかく、ここに私のコードを含めます:

シェルを返す

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

-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 に答える