私はAngular 2(RC5)とTypescriptを使ってSPAを書いています。私はトップに(Bootstrap 4 Alpha 3を使用して)メインナビゲーションバーとカスタムデザインのサイドバーを持っています。ここではPICです:Angular2では、アクティブなルートに基づいてサイドバーをどのように変更しますか?
ここでの意図は、トップナビゲーションバーを使用してメインの「アプリケーション」にナビゲートすることです。現在、私は3つの主要なアプリをマッピングしています - トラッカー、プロボード、および機器。メインアプリケーションがアクティブになると、サイドバーのリンクが変更されます。上の写真では、サイドバーに 'Proboard'アプリケーションのリンクが表示されています。
アクティブルートに基づいてサイドバーの内容を変更するには、HTMLに「* ngIf」宣言を一切入れないでください。
私は、各アプリケーションのリンクを一覧表示するJSONオブジェクトをバックグラウンドAPIのどこかのコードに配置したいと考えています。以下のようなもの:ユーザは、トップナビゲーションバー上のリンクのいずれかに移動なる場合
[
{ proboard: [
{ label: 'Home', link: '/proboard', icon: 'fa-home'},
{ label: 'Candidates', link: '/proboard/candidates', icon: 'fa-users'},
{ label: 'New', link: '/proboard/candidate/new', icon: 'fa-new-user; } ]
},
{ tracker: [...] },
{ equipment: [...] }
]
次に、サイドバーは、HTMLでNgFor
を使用して、上記アレイ内の内容が取り込まれるであろう。
ご意見やご感想をお寄せください。
「サブスクライブ可能なサブジェクトストリーム」と言うと、あなたは観察可能なことを話しているのですよね?私はこれがどのように機能するかを完全に見ることができますが、ちょっと過酷な感じです。 –
はい、私は観察可能な対象ストリームについて話しています。もちろんこれを行うには複数の方法があります。それは私が考えることができる最もクリーンな方法です、あなたがやろうとしていることは過度のことかもしれません。 –
これは私が実際にこれを達成した方法です。 –