私は Durandal 1.2 を使用しており、次のようなナビゲーション バーがあります。
私は次のことをしたい:
- ドロップダウンは顧客のリストであり、ユーザーはそれらのいずれかを選択できます
- 何も選択されていない場合は、最初のものがデフォルトと見なされます。
- navbar の他のリンクには、顧客 ID と一致する URL が必要です。
- 詳細ページもランディング ページにする必要があります。
したがって、デフォルトの顧客の場合、URL は次のようになります。
company/1/details
company/1/orders
別の顧客を選択すると、
company/2/details
company/2/orders
これが私がどうすればよいか分からないことです:
- ユーザーが最初に着陸したとき、顧客 ID がわからず、マッピングするナビゲーションがありません。次に、デフォルトの顧客を選択し、ナビゲーションをマッピングして、ランディング ページ (
customer/1/details
) に移動します。 - ナビゲーションは、デフォルトの顧客 ID にマップされます。
- ユーザーが別の顧客を選択すると、選択した顧客 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
機能しません。ナビゲーションバーにリンクがありません。