0

私は Durandal 1.2 を使用しており、次のようなナビゲーション バーがあります。

ここに画像の説明を入力

私は次のことをしたい:

  • ドロップダウンは顧客のリストであり、ユーザーはそれらのいずれかを選択できます
  • 何も選択されていない場合は、最初のものがデフォルトと見なされます。
  • navbar の他のリンクには、顧客 ID と一致する URL が必要です。
  • 詳細ページもランディング ページにする必要があります。

したがって、デフォルトの顧客の場合、URL は次のようになります。

  • company/1/details
  • company/1/orders

別の顧客を選択すると、

  • company/2/details
  • company/2/orders

これが私がどうすればよいか分からないことです:

  1. ユーザーが最初に着陸したとき、顧客 ID がわからず、マッピングするナビゲーションがありません。次に、デフォルトの顧客を選択し、ナビゲーションをマッピングして、ランディング ページ ( customer/1/details) に移動します。
  2. ナビゲーションは、デフォルトの顧客 ID にマップされます。
  3. ユーザーが別の顧客を選択すると、選択した顧客 ID でナビゲーションが再マップされる必要がありますが、ユーザーが 現在のページから離れないようにする必要があります。したがって、ユーザーが顧客 #1 の注文ページにアクセスしてから顧客 #2 を選択した場合、顧客 #2 の注文ページが表示されます。

更新: でマップしてリダイレクトしようとしましたrouter.handleInvalidRoute:

router.handleInvalidRoute = function(route, params) {
    router.mapNav("customer/1/details", "viewmodels/details", "details");
    router.navigateTo("#/customer/1/details");
};

リダイレクトは機能しますが、mapNav機能しません。ナビゲーションバーにリンクがありません。

4

1 に答える 1