ここで遊ぶプランカーは次のとおりです。
https://plnkr.co/edit/qTjftING3Hk2fwN36bQa?p=preview
プロジェクトのドロップダウンに新しい projectId が現在のプロジェクトとして表示されないため、URL バーの id パラメータを手動で変更する場合を除いて、すべて正常に機能します。これは、ユーザーが URL をお気に入りのリンクとして保存し、それをコピーして URL バーに貼り付けたときに発生します。私が言うよくあるケース!
これを修正するには、 route.params の変更をリッスンし、変更された ID がそのドロップダウンに存在するTestsListComponent
かどうかのチェックを追加します。sharedService/EventEmitter
TestsListComponent 内の bool 戻り値 existsProjectId は/projects
、ID が存在しなかったためにページにリダイレクトする必要があるかどうかを決定します。
しかし正直なところ、 からのリダイレクトは、TestsListComponent
少なくともユーザー エクスペリエンスの観点からは遅すぎますroute projects/:id/tests
。
その不正行為をどのように修正しますか?
PS
おそらく、ProjectsListComponent 内のパスとその ID をリッスンして確認できる、グローバルなパラメーターの変更のようなものがあると思います。
ウィンドウ モードで plunkr の URL バーを編集してその矛盾をテストする方法を誰かが知っている場合は、その読み取り専用の URL バーを編集可能にした方法を教えてください... URL を新しいタブにコピーしても機能しません。 plunkr not found エラー... => 回答
- plunkr をロードし、ウィンドウ モードを有効にします。
- ウィンドウ モードで、URL をコピーして新しいタブに貼り付けます
- それが貼り付けられたURLの場合: https://run.plnkr.co/LhwcQjzWHsRUda8H/projects/1/schoolclasses
- その URL にします: https://run.plnkr.co/LhwcQjzWHsRUda8H/#/projects/1/schoolclasses
- パラメータを変更: https://run.plnkr.co/LhwcQjzWHsRUda8H/#/projects/2/schoolclasses
- ハッシュを追加しないと、not found 404 が返されます。