私は単一ページの Web アプリを構築しています (ページ/状態間を移動する際の柔軟性と速度が必要なため) が、ルーティング/URL に苦労しています ...
従来のパラダイムでは、次のような URL があります。
example.com/tools/population-tool/#currentYear=1950
example.com/tools/income-tool/#country=usa
example.com/nice-story/
example.com/nice-chapter/nice-story/
これを、対応するルートのテンプレートとコントローラーをロードするルーター (たとえば、バックボーンを使用) に置き換えたいと思います。
必要なページ情報を格納するページ オブジェクトを用意することを考えています。
pages : {
tools : {
template : "#tools",
breadcrumb : ["Home","Tools"]
}
nice-story : {
template : "#nice-story",
breadcrumb : ["Home","Stories","Nice Story"]
}
}
ルーターを使用して、次のような URL を指定して、適切なコンテンツとページの状態をロードしたいと思います。
example.com/#!/tools/population-tool/?currentYear=1950
または、Hashbang を使用しない場合は次のようにします。
example.com/tools/population-tool/?currentYear=1950
このルーティングをどのように整理して、URL スキームが適切でありながら柔軟であり、リダイレクトや新しいクエリ文字列パラメーターを許可できるようにしますか?