角度jのWebアプリケーションを開発する場合、開発者が費やす時間の一部はルーティングを実装する時間です。ui-routerを使用した角度jsアプリケーションのルーティング
アプリケーションのUI-ルータを使用する場合は、ルーティングに関して考慮すべき二つの「相が」あります
ユーザーがアプリケーション内をナビゲート:クリックがいくつかのボタンの上に作られたとき、ユーザーがに転送されます$ state.go( "somestate")を使用して別の状態。パラメータはsendなどとすることができ、それに応じてurlも変更されます。
ユーザーはurl経由で直接ナビゲートします。
アプリケーションがこのような経路を有していると言うことができます: /mythings/{thingid}/mysubthings/{mysubthingid}
ユーザがブラウザウィンドウに貼り付けることにより、直接そのURLにナビゲートした場合、アプリケーションがそれを処理する必要があります。私の質問はそれを行うベストプラクティスですか?
私は何をしているのですか?ユーザがブラウザでそのURLを入力したときに何をする必要があるかを上記のURLの例で見ると、 URL {$ stateParams}から{{{{{}} $ stateParams(おそらく、状態を定義するときにresolve(ui-router機能)を使用して)、次に解決されたものをコントローラに注入し、apiにクエリを行い、そのデータでui内の "subthing"と現在のビューに関するデータを取得します。つまり、ユーザーがクリックして状態に移ったとき、またはユーザーがブラウザにURLを直接入力するときの両方の「ナビゲーションの種類」で動作するはずです。これは正しい道ですか?
そして、アプリケーションで何かをクリックしたときに行くURLがあれば、そのURLをブラウザに貼り付けるだけで、他の場所にリダイレクトされずに同じ結果が表示されるはずです。このようにアプリケーションがすべてのURLを処理できない場合は、アプリケーションのアーキテクチャを再検討する必要がありますか?
ありがとうございました