Могу ли я динамически изменить модуль, определенный в сопоставленном маршруте?

Предполагая, что у меня есть следующая карта маршрута Durandal, определенная...

vm.router.reset()
    .makeRelative({
        moduleId: 'salesorder/createorder',
        fromParent: true,
        route: ':cartId'
    })
    .map([
        { route: 'orderheader', moduleId: 'orderheader', title: 'Order Information', nav: 1, hash: '#createorder/' + cartId + '/orderheader' },
        { route: 'orderdetail', moduleId: 'orderdetail', title: 'Order Lines', nav: 2, hash: '#createorder/' + cartId + '/orderdetail' },
        { route: 'payment', moduleId: 'payment', title: 'Payment', nav: 3, hash: '#createorder/' + cartId + '/payment' }
    ])
    .buildNavigationModel();

... могу ли я изменить карту маршрутов, в частности, изменив модуль, связанный с 'payment', на другой модуль, скажем, 'payment-customer-specific'? Я хотел бы выполнить эту модификацию в промежуточном маршруте - в модуле 'orderdetail' перед переходом к маршруту 'payment', так чтобы использовалась определенная версия платежного модуля.

Я понимаю, что параметризованные маршруты существуют, но они не помогут из-за текущей кодовой базы, которую я использую. Я понимаю, что мог бы заранее создать карту для правильного модуля, но опять же, текущая кодовая база ограничивает это. Ищете возможность изменить сопоставленные отношения маршрут-модуль после факта.

0 ответов

Другие вопросы по тегам