ルーティングは、ユーザーがリンク/ボタン/メニューをクリックすると、対応するコンポーネントが表示されるように設定します。
あなたは2例に直面することができます
1 - HashLocationStrategy
あなたがこれを使用すると、あなたのURLは次のようになります。http://www.myapp.com/#/home
何が起こることは角度があなたに#を追加するということですURL。 #の左側は、あなたのウェブサイトに登録したドメイン名を表しています。
右の部分は、角度を示しているコンポーネントを表します。基本的に、URLの右部分をコンポーネントに結びつけます。ここでは、たとえば、表示されたコンポーネントがホームになります。 forgotPassword
で終了した場合は、ForgotPasswordコンポーネントを表示できます。
このソリューションでは、SPAを示すもの以外の処理を行うようサーバーを設定する必要はありません。これは私の推薦するケースです、私はいつもこれを使用します。
2 - サーバーリダイレクト
あなたはこのケースを使用すると、あなたのURLは次のようになります。この場合
http://www.myapp.com/homeは、あなたがあなたのドメインで行っている、と私は思う(サブドメインを要求、私はそれに精通していないよ!)これは、実際にはSPAのコンポーネントを要求していないが、別のWebサイト全体を要求していることを意味します。
サーバーの設定方法によっては、http://www.myapp.com/homeはhttp://www.myapp.com/とまったく異なる場合があります。
この場合、これはをのページをリダイレクトする必要があることを意味します。つまり、彼がhttp://www.myapp.com/homeに行くと、彼をホームコンポーネントにリダイレクトする必要があります。
リダイレクトの詳細については、私があなたに言ったように、私は他の場合だけを使用していたので、私はあなたにリダイレクトする方法についてさらに情報を与えることはできません。しかし、私はインターネットにはたくさんの助けがあると確信しています!
ここであなたの他の質問については、パラメータを参照してください。私はあなたにoptional parametersへのリンクを与えました、そしてそれらがAngularでどのように扱われるか。あなたがそれを読んでいなかった場合:Angularは、オプションのパラメータ(オプションのパラメータ= URLの最後にあるパラメータ、あなたのやり方とほぼ同じように)を扱うためにMatrix URL notationを使います。
これは、AngularのURlパラメータの扱い方を使用しない場合は、独自の方法を実装する必要があることを意味します。
それ以外の場合は、チュートリアルに従うことで、これらのパラメータを簡単に処理することができます。
このテキスト全体があなたのためにクリアされていることを願っています。そうでない場合は、お気軽にお問い合わせください!
ルーティングにhashLocationStrategyを使用しない場合は、角度の問題ではなくサーバーの問題です。トークンをフェッチするには、[オプションのパラメータ](https://angular.io/guide/router#route-parameters-required-or-optional)を使用することをお勧めします。これは扱いが簡単です。 – trichetriche
返信@trichetricheに感謝しますが、私が知りたいのは、angle2アプリケーションがユーザーがランダムなURLをクリックしたことを知り、URLを自分のアプリケーションの特定の画面に移動する必要があることです。私が必要とするリスナーのように?私は本当にangular2に新しいです – Chris
私は答えを出します、それは十分に長いです。ごめんなさい! – trichetriche