3

私のシェルには、ユーザーが現在特定のビューモデルを表示している場合にのみ表示されるボタンがあります。ビューが現在「アクティブ」であるかどうかをシェルから判断するにはどうすればよいですか?

4

1 に答える 1

8

ルートが定義されていると仮定すると、shell.js activate使用viewAttachedするとオブジェクトへのアクセスが許可されrouterます。

return {
    router: router,
    viewAttached: function () {
        console.log('activeRoute', router.activeRoute());
    },
    activate: function () {
        router.map([...

コメントに基づいて更新

Durandal 2.x ではactiveRoute()、もはや定義されていません。router.activeInstruction()代わりに使用してください。

コメントに基づいて2を更新

Durandal 2.xviewAttachedではattached.

: カスタム プロパティやその他の情報を取得するために現在のルートの構成にアクセスする必要がある場合は、router.activeInstruction() を介して生データにアクセスできます。命令には、fragment、queryString、params、および queryParams が含まれます。また、元のルート構成と同じインスタンスである構成プロパティも含まれています。

http://durandaljs.com/documentation/Conversion-Guide/

于 2013-05-20T09:57:38.393 に答える