0

shell.js内でこのsplatルートを構成しています

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

これは、カスタムモーダルビュー内でいくつかのsplatパラメーターを使用してビューを作成しようとする方法です

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

これはうまくいきません。アドレスバーで直接更新した場合にのみ機能します。

では、ルートへのcompose バインディング内にいくつかのパラメーターを含めるにはどうすればよいでしょうか?

モーダル内で使用したかどうかをページに知らせる必要があります。したがって、次のようなものを渡す必要があります。

http://localhost/#projects/modalTrue

プロジェクトページ内のactivate 関数を使用して取得します。

var isInModal;

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

どんな助けでも大歓迎です!
ありがとう

4

1 に答える 1

1

Compose バインディングのactivationData 属性を活用してみましたか? 外側のビューはルート パラメータをキャッチし、observable に格納することができます。これもまた、activationData を介して構成されたビューに提供されます。

于 2014-09-19T09:07:00.960 に答える