私は様々な画面のアプリケーションを持っています。各画面には、#
,mails
,contacts
などのURLが割り当てられます。AngularJSでネストされたビューを設定するにはどうすればよいですか?
私のメインのHTMLファイルには、ユーザーが選択するルートに従って更新する要素ng-view
があります。ここまでは順調ですね。
これらの画面には、サブナビゲーションがあります。たとえば、#mails
には受信トレイと送信フォルダがあります。彼らは2つの列で自分自身を提示する:左側のサブナビゲーション、右側の適切なフォルダのメール。あなたは#mails
に移動すると、基本的受信トレイは、メールのデフォルトのサブビューになるよう
は、それは、#mails/inbox
にリダイレクトするものとします。
どうすれば設定できますか?
私が現在考えることができる唯一のアプローチ(AngularJSには全く新しいので、この質問がちょっと古くなら私を許してください)は#mails/inbox
と#mails/sent
の2つのビューを持つことです。
ルートを選択すると、これらのビューがロードされます。 #mails
を選択すると、単に#mails/inbox
にリダイレクトされます。
しかし、これは、両方のビューでサブナビゲーションにng-include
を使用する必要があることを意味します。どういうわけか、これは私に間違っているように感じます。
ネストしたビューを表示すると、メール、連絡先などの画面が一番上に表示され、下のビューは受信トレイ、送信済みなどのサブビュー間で切り替わります。
どうすればこの問題を解決できますか?
私の知る限りでは、NG-含め、今のように使用してへの代替手段はありません。それは将来変化する可能性があります。 – finishingmove
[AngularJS - パーシャルとテンプレートの複雑なネスティング](http://stackoverflow.com/questions/12863663/angularjs-complex-nesting-of-partials-and-templates)を見て、[Angular ui-route ](https://github.com/angular-ui/ui-router)。 – Stewie
うん、@スティーは正しい。 'ng-swith'は今のところ正しいアプローチです –