アプリケーションの顧客セクションのサブ ナビゲーションを構築するために、子ルーターを初期化しようとしています。
設定しようとしている URL は次のとおりです。
#customer/1/orders/1
shell.js で顧客ビューに到達するためのルートを定義しました
define(['plugins/router', 'durandal/app'], function (router, app) {
return {
router: router,
activate: function () {
router.map([
{ route: 'customer/:id*splat', moduleId: 'customer/customer' }
]).buildNavigationModel();
return router.activate();
}
};
});
顧客セクションのサブ ナビゲーションを含む顧客ビューを作成しました。ナビゲーションは、ルートにあった顧客 ID を使用します。このビューは、顧客のサブナビゲーションを表示する以外には何もしません。このビューで子ルーターを作成しました。
define(['plugins/router', 'knockout'], function (router, ko) {
var childRouter = router.createChildRouter()
.makeRelative({
moduleId: 'customer',
fromParent: true
}).map([
{ route: 'orders/:orderId', moduleId: 'orders' }
]).buildNavigationModel();
var activate = function(id) {
};
return {
router: childRouter,
activate: activate
};
});
私の問題は、親ルーターにパラメーターがあるとルーティングが機能しないように見えることです。顧客ビューはルーティングされますが、注文ビューはルーティングされません。顧客セクションの下に、より多くのサブビューを配置することになります。