問題タブ [durandal-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
32 参照

durandal - Durandal 子ルーターがバインドを 1 回だけ更新する

私が作成したルーターは、ナビゲーション モデルを正常に構築しますが、その中でページが読み込まれるたびに更新する必要があるいくつかのバインディングを更新することができませんchildRouter( app.pageTitleapp.pageDescription)。

activateこれらの更新をデュランダルのライフサイクル (イベントのようなもの) にマッピングする方法はありますか?

0 投票する
1 に答える
117 参照

javascript - 既存のインスタンスのオーバーライド メソッド

RequireJS を使用して既に作成されている既存の Durandal ルーター プラグイン インスタンスを拡張しようとしています。

map()追加のマッピング パラメータを追加するには、メソッドをオーバーライドする必要があります。

変更されたメソッドから元のメソッドにアクセスするにはどうすればよいですか?

index.js

childRouter.js

0 投票する
1 に答える
1049 参照

javascript - デュランダル起動、子ルーターの切り離しイベントが発動しない

次の Durandal子ルータープラグイン構成を使用すると、Durandal のライフサイクルで説明されてdetachedいるおよびactivateイベントが取得されませんが、他のイベントは機能します。

これは、コンテナーchildRouterのコンテンツを制御する単一ページのアプリケーションです。divそれぞれchildRouterがモジュールに対応し、一度に 1 つだけを使用attachedし、他のものはdetached.

アプリケーションはchildRouterモジュールごとに個別のインスタンスを使用し、2 つのモジュール間のナビゲーションが発生するたびにdetachedおよびイベントがトリガーされることを期待しています (つまり、 getおよびshould get )。activatemoduleOLDdetachedmoduleNEWattached

ドキュメントには、Durandal ライフサイクル イベントが自動的にトリガーされると記載されています。

緑で強調表示された行は、作成時に常に実行されます。

このようには機能しません。これは、次のことが原因である可能性があります。

  • 子ルーターが相互にアタッチ/デタッチされていることを通知されていない(つまり、何らかのイベントにサブスクライブする必要がある)
  • 親ルーターとは異なる動作をする子ルーター

detachedactivate. _

detachedおよびactivateのイベントをトリガーする方法はchildRouter?

出力 (エラーなし):

0 投票する
1 に答える
78 参照

javascript - Durandaljs ルーターが「trigger: false」パラメーターに関係なくページをリロードする Firefox の場合

URLハッシュを変更する必要がありますが、ページをリロードしないでください(モジュールのアクティブ化をトリガーしない)ので、次のようにします:

また

どちらも、Firefox を除くすべてのブラウザーで動作します。私の Firefox のバージョンは 44.0.2 です。

誰かがこの動作に遭遇しましたか? 回避策はありますか?

編集

durandaljsを介して解決策がなかったので、単に使用しました

0 投票する
0 に答える
89 参照

durandal - Durandal の activate コールバックから promise を返した後の戻るボタンの処理方法

Durandal 2.1 を使用してモバイル アプリケーションを開発しています。

ドキュメントには、 activate コールバックから promise を返すことができ、失敗した場合はナビゲーションをキャンセルする必要があると記載されています。

その機能を使用しようとしましたが、アプリケーションの戻るボタンが壊れてしまいます。

router.jsDurandal のプラグイン コードでわかるように、cancelNavigation関数は次の方向に移動していlastUrlます。

その動作のため、ナビゲーションのキャンセル後に戻るボタンを使用すると、エラーの原因となったページに戻るため、期待される結果が得られません。

この機能を間違った方法で使用していませんか?

私たちの目標は、 activate 関数でデータを読み込んで、エラーが発生した場合は現在のページに戻ることです。

これに関するヘルプは大歓迎です。

0 投票する
1 に答える
45 参照

javascript - Durandal: 同じビューモデル (コントロール) を 2 つの異なる変数として定義する

そのため、同じビューモデル内の 2 つの異なる場所で使用するスクローラー コントロールを作成しました。たとえば、次のようになります。

コントロールは mainScrollControl と modalScrollControl が設定されている両方のインスタンスで正常に読み込まれますが、コントロールが個別に定義されていても、データは共有されています (モーダルのスクローラー位置を変更し、メイン ページでも変更されます)。mainScrollNav と modalScrollNav は、独立したビューモデルではなく、単一のサービス ビューモデルにリンクしているようです。私はこれを正しい方法で行っていますか、それとも何か他のものを使用する必要がありますか?

0 投票する
1 に答える
194 参照

javascript - Durandal Child ルーターがビューを見つけられない

この問題に入る直前に、ここに私のプロジェクト構造の概要を示します

ここで、子ルーターを含む mywork という Product1 のセクションをセットアップしました。shell.js のコア ルートは、splat を使用して設定されます。

次に、子ルートが次のように作成されます

主な問題は、ナビゲーションバーからページにアクセスすると、エラーが発生することです...

それでも、概要ページのビューは、ルート [''] によって定義された問題なく機能します。ビューモデルがテキストであるにもかかわらず、他のビューが見つからない理由についてのアイデア! エラーのパスの前に?

0 投票する
1 に答える
309 参照

asp.net-mvc - MVC エリアを使用した複数の SPA - 外部 SPA ルーター ルートのナビゲート

ルーターに設定されたルートのセットリストの外に移動したい場合、クライアント側のルーティングをエスケープするにはどうすればよいですか?

Durandal.js を使用してプロジェクトを作成し、さまざまなエリア内に SPA を作成しました。私が遭遇した問題は、現在のSPAの外に移動して別のSPAに移動したり、SPAではなく単にcshtmlページであるアプリケーション全体のホームページに戻ったりしたい場合です。

私が試みたのは、Durandal の mapUnknownRoutes ハンドラーを使用してインターセプトし、window.location.href を使用してナビゲートすることです。これは機能しますが、アプリケーションのホームページ (「/」) に移動したい場合、ルーターは SPA の「ルート」と一致し、ホームページに移動せず、代わりに SPA のルート ルートに移動します。

この例のエリア ルートは「/spaHome」で、その MVC ルートは次のようになります。

Durandalルーターをセットアップするために私が行ったことは次のとおりです。

これに対する正しい方向へのポインタまたはリードは大歓迎です!