Дюрандаль: Включите знак внутри переплета.

У меня есть этот splat route, настроенный внутри shell.js

 router.map([
   { route: 'projects*modal', title: 'Projects', moduleId: 'views/projects', nav: true },
]).buildNavigationModel();

и вот как я пытаюсь составить представление с некоторым параметром splat внутри пользовательского модального представления

<div data-bind="compose: 'views/projects/thisIsOptionalSplatParameter'"></div>

Это не работает. Это работает только тогда, когда я обновляю его непосредственно в адресной строке.

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

Мне нужно сообщить странице, использовал ли я ее внутри модального окна или нет. Поэтому мне нужно передать что-то вроде этого:

http://localhost/#projects/modalTrue

и получите его с помощью функции активации на странице проектов:

var isInModal;

activate: function(params)
{
   if (typeof params !== 'undefined' && params !== null && params.replace('/', '') === 'modalTrue')
        isInModal = true;
    else
        isInModal = false;
}

Мы будем очень признательны за любую помощь!
Спасибо.


person Fariz Azmi    schedule 18.09.2014    source источник


Ответы (1)


Пробовали ли вы использовать атрибут activationData для привязки компоновки? Ваше внешнее представление может перехватывать параметры маршрута, сохранять их в наблюдаемом объекте, который снова предоставляется через активациюData для составленного представления.

person zewa666    schedule 19.09.2014
comment
Идеально!! Это то, что мне нужно! Большое спасибо ! - person Fariz Azmi; 19.09.2014